有没有办法直接从我的代码中检查我的类对象权限,而不是使用注释模型,
@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>
...
示例控制器.java
@Autowired
private PermissionEvaluator permissionEvaluator ;
Permission permission = BasePermission.WRITE;
permissionEvaluator.hasPermission(authentication,aclObject,permission);
....
希望这会有所帮助。