3

注釈モデルを使用する代わりに、コードから直接クラス オブジェクトのアクセス許可を確認する方法はありますか?

@PostAuthorize("hasPermission(returnObject, 'WRITE')")
public BaseData getSingle(Long id);
4

2 に答える 2

1

ACLモジュールを使用する場合、式はで実装されAclPermissionEvaluatorます。したがって、そのインスタンスを。で接続し、AclServiceそれを必要とするクラスに挿入して、hasPermissionメソッドを直接呼び出すことができます。

于 2012-06-04T01:35:44.837 に答える
1

最後に、解決策を得るために何度か試行した後、次のコードがあります

acl-conf.xml

...
<bean class="org.springframework.security.acls.AclPermissionEvaluator" id="permissionEvaluator">
        <constructor-arg ref="aclService"/>
</bean>
...

samplecontroller.java

 @Autowired
    private PermissionEvaluator permissionEvaluator ;

    Permission permission = BasePermission.WRITE;
   permissionEvaluator.hasPermission(authentication,aclObject,permission);
....

これが役に立てば幸いです。

于 2012-06-06T11:14:38.337 に答える