Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全Acl级别的类权限_Java_Spring_Spring Security_Acl_Spring Security Acl - Fatal编程技术网

Java Spring安全Acl级别的类权限

Java Spring安全Acl级别的类权限,java,spring,spring-security,acl,spring-security-acl,Java,Spring,Spring Security,Acl,Spring Security Acl,Spring安全Acl是否支持类级权限?例如,假设我有一个Asset类,我想允许任何具有角色role\u user的用户对Asset类的所有实例具有读取权限。只要我能看到,ObjectIdentityImpl只接受对象实例 谢谢对于这一点,Spring Security ACL并不是很方便。我建议您使用预授权注释: @PreAuthorize("hasRole('ROLE_USER')") public List<Asset> getAllAssets(); @预授权(“hasRo

Spring安全Acl是否支持类级权限?例如,假设我有一个
Asset
类,我想允许任何具有角色
role\u user的用户对
Asset
类的所有实例具有读取权限。
只要我能看到,
ObjectIdentityImpl
只接受对象实例


谢谢

对于这一点,Spring Security ACL并不是很方便。我建议您使用预授权注释:

@PreAuthorize("hasRole('ROLE_USER')")
public List<Asset> getAllAssets();
@预授权(“hasRole('ROLE\u USER'))
公共列表getAllAssets();

确保在配置中启用了预注释和后注释。

org.springframework.security.acls.model.ObjectIdentity是Spring安全ACL的核心接口之一,表示要保护的单个域对象的标识。它强制使用类型和标识符属性。如果需要类级别的权限,可以使用例如“class”作为类型,使用实际的类名作为标识符(例如“Asset”或“my.package.Asset”)

根据具体场景,可能还需要相应地实现
org.springframework.security.acls.model.ObjectIdentityRetrievalStrategy
org.springframework.security.acls.model.ObjectIdentityGenerator
接口