我在尝试在 Spring Security 中注入自定义权限评估器时遇到问题:
我的前端代码如下所示:
<sec:accesscontrollist hasPermission="VIEW_HEADER,VIEW_ANYTHING" domainObject="${userWebsiteLocationContext}" >
<b>This is a TEST</b>
</sec:accesscontrollist>
我正在我的春季安全配置中尝试以下内容:...
...
<security:global-method-security>
<security:expression-handler ref="expressionHandler"/>
</security:global-method-security>
<bean id="permissionEvaluator" class="org.atd.storefront.security.impl.DefaultPermissionsEvaluator" >
</bean>
<bean id="defaultExpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler" >
<property name="permissionEvaluator" ref="permissionEvaluator" ></property>
</bean>
我的自定义权限评估器仅返回 false,但始终显示文本。我还尝试了https://jira.springsource.org/browse/SEC-1749的解决方案,并尝试使用自定义定义的决策管理器 bean:access-decision-manager-ref="webAccessDecisionManager" 无济于事。
我没有得到任何例外,我的自定义权限评估器的 hasPermission 只是没有被调用。