我正在将 Spring Security 实施到现有应用程序中,该应用程序通过 Web 门户创建用户、分配角色等。在为 Web 服务和门户寻找最合适的安全性的过程中,Spring Security 的 ACL 给我留下了深刻的印象。但是我有这个基本的疑问。
SS4 中的 ACL 可以通过数据库进行配置。找到了一个帮助我实现相同目标的教程,但我觉得这种配置方式需要大量的硬连接到数据库中,因为它完全是数据驱动的。每个用户在创建时都需要一组允许/限制的域对象级别访问(将数据行插入和更新到 acl 表中),并且需要为每个用户重复此操作。这比通过数据库的数据驱动方法更容易在代码中使用@PreAuthorize 和@PostAuthorize 注释(通过SPEL)实现。
是否可以根据分配给它们的角色在数据库中配置 ACL,而不是为每个用户定义每个对象的访问权限?