Spring Security 4 ACL - 用户创建和数据库配置

时间:2016-04-13 07:09:36

标签: spring spring-security spring-security-acl

我正在将Spring Security实施到现有应用程序中,该应用程序通过Web门户创建用户,分配角色等。在为Web服务和门户网站找到最适合的安全性的过程中,我对Spring Security的ACL印象深刻。但是我有这个基本的疑问。

SS4中的ACL可以通过数据库进行配置。找到了一个帮助我实现相同目的的教程,但我觉得这种配置方式需要大量硬连接到数据库,因为它完全是数据驱动的。每个用户在创建时都需要一组允许/限制的域对象级别访问(将数据行插入和更新到acl表中),这需要为每个用户重复。使用代码中的@PreAuthorize和@PostAuthorize注释(通过SPEL)比通过数据库的数据驱动方法更容易实现。

是否可以根据分配给它们的角色在DB中配置ACL,而不是为每个用户定义每个对象的访问权限?

1 个答案:

答案 0 :(得分:1)

从Spring安全文档中,

  

ACL_SID允许我们唯一地标识其中的任何主体或权限   系统(“SID”代表“安全标识”)。唯一的专栏   是ID,SID的文本表示和标志   表明文本表示是否指的是主要名称   或GrantedAuthority。

因此,由于角色可以被授予授权的权限,您应该能够为给定角色的用户分配对象的特定权限。