注釈モデルを使用する代わりに、コードから直接クラス オブジェクトのアクセス許可を確認する方法はありますか?
@PostAuthorize("hasPermission(returnObject, 'WRITE')")
public BaseData getSingle(Long id);
注釈モデルを使用する代わりに、コードから直接クラス オブジェクトのアクセス許可を確認する方法はありますか?
@PostAuthorize("hasPermission(returnObject, 'WRITE')")
public BaseData getSingle(Long id);
ACLモジュールを使用する場合、式はで実装されAclPermissionEvaluator
ます。したがって、そのインスタンスを。で接続し、AclService
それを必要とするクラスに挿入して、hasPermission
メソッドを直接呼び出すことができます。
最後に、解決策を得るために何度か試行した後、次のコードがあります
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);
....
これが役に立てば幸いです。