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>
...

示例控制器.java

 @Autowired
    private PermissionEvaluator permissionEvaluator ;

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

希望这会有所帮助。

于 2012-06-06T11:14:38.337 回答