<security:authorize access="myPermission( 'formDialog', 'edit')"> 其中myPermission 无效,怎么配置 XML 让其生效
时间: 2024-01-19 19:05:00 浏览: 18
要让`myPermission`生效,你需要在XML配置文件中定义它。可以使用`<security:global-method-security>`元素来定义自定义权限表达式解析器。
下面是一个例子:
```xml
<security:global-method-security pre-post-annotations="enabled">
<security:expression-handler ref="expressionHandler"/>
</security:global-method-security>
<bean id="expressionHandler"
class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<property name="permissionEvaluator" ref="myPermissionEvaluator"/>
</bean>
<bean id="myPermissionEvaluator" class="com.example.MyPermissionEvaluator"/>
```
在这个例子中,我们使用`<security:global-method-security>`元素启用了方法级别的安全,同时指定了自定义的表达式处理器`expressionHandler`。然后,我们定义了一个名为`myPermissionEvaluator`的自定义权限表达式解析器,并将其注入到`expressionHandler`中。
现在,您可以在您的代码中使用`myPermission`表达式,它将使用您定义的`MyPermissionEvaluator`来解析并授权。