2

Spring Security Acl是否支持类级别的权限?例如,假设我有一个Asset类,并且我想允许Asset具有角色的任何用户对该类的所有实例的读取权限ROLE_USER.只要我能看到,ObjectIdentityImpl只接受对象实例。

谢谢

4

2 回答 2

3

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

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

于 2013-12-17T19:43:07.900 回答
3

Spring Security ACL 对此并不是很方便。我建议您改用预授权注释:

@PreAuthorize("hasRole('ROLE_USER')")
public List<Asset> getAllAssets();

确保您在配置中启用了前后注释。

于 2013-10-29T14:23:29.230 回答