0

SpringSecurityにカスタムパーミッションエバリュエーターを挿入しようとすると問題が発生します。

私のフロントエンドコードは次のようになります。

<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"を使用しようとしましたが、役に立ちませんでした。

例外は発生しません。カスタムpermissionevaluatorのhasPermissionが呼び出されません。

4

1 に答える 1

0

タグを取得して使用するにPermissionEvaluatorは、の実装を登録するだけで十分です。accesscontrollist

私のアドバイスは、doStartTag()メソッドのメソッドにブレークポイントを設定し、それが実際に使用しているものorg.springframework.security.taglibs.authz.AccessControlListTagを検査することです。PermissionEvaluator

于 2012-10-15T14:20:07.990 に答える