Java SpringACL是一个好的ACL实现吗?

Java SpringACL是一个好的ACL实现吗?,java,spring,spring-security,acl,spring-security-acl,Java,Spring,Spring Security,Acl,Spring Security Acl,我读过SpringACL,但它似乎不是很有能力。例如: 无法列出具有Y权限的X类型的所有对象 无法为新部署自动创建架构 你用什么做ACL?将ACL与域模型如此解耦是明智的吗?我们试图使用Spring ACL模型,但发现它很笨拙。我们最终推出了我们自己的、更简单(但也不太通用)的实现,然后编写了Spring安全部件(AccessDecisionManager、投票者、拦截器)来处理我们的模式。希望有帮助。您可能想看看 来自站点:ApacheShiro是一个功能强大且易于使用的Java安全框架,它执

我读过SpringACL,但它似乎不是很有能力。例如:

  • 无法列出具有Y权限的X类型的所有对象
  • 无法为新部署自动创建架构

  • 你用什么做ACL?将ACL与域模型如此解耦是明智的吗?

    我们试图使用Spring ACL模型,但发现它很笨拙。我们最终推出了我们自己的、更简单(但也不太通用)的实现,然后编写了Spring安全部件(AccessDecisionManager、投票者、拦截器)来处理我们的模式。希望有帮助。

    您可能想看看

    来自站点:ApacheShiro是一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序—从最小的移动应用程序到最大的web和企业应用程序


    许多人更喜欢Shiro的方式如果使用Hibernate,您可以通过将其添加到
    persistence.xml中来自动对db运行acl模式:

    <property name="hibernate.hbm2ddl.import_files" value="/import.sql"/>
    
    <property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
    

    然而,由于分页问题,Spring Security ACL在行安全性方面存在根本性缺陷。如果db支持,则应使用视图或内置工具在数据库中执行行安全性

    关于Shiro的唯一问题是没有OpenID或OAuth。这方面的主要问题报告是五年前的,最多每周只引起一次注意。很遗憾,否则,Shiro看起来真的很好,比Spring或Spring简单得多。你最后做了什么?你自己滚?
    select 
      *
    from acl_entry a 
    join acl_object_identity b on a.acl_object_identity = b.id
    join acl_class c on b.object_id_class = c.id
    where
      class = X
      and mask = Y