是否有适用于Java的基于Spring-Security的生产就绪安全包?

时间:2009-10-27 10:36:03

标签: java spring spring-security

我正在为新产品设计安全子系统。该系统需要以下内容:

  • 复杂的用户/组/权限模型,包括服务级别和域级别(ACL)
  • 上述
  • 的管理界面
  • 对用户操作执行的规则(登录失败时帐户禁用,密码复杂性要求等)。

在继续实施Spring Security(2.x)缺乏的大多数功能之前,我想知道是否有人熟悉并且可以推荐可能已经实现/支持这些要求的软件包?理想情况下,JAR + WAR可以放入项目中并支持现成的所有内容。

由于

2 个答案:

答案 0 :(得分:1)

不完全符合您的要求,但您可能有兴趣查看jSecurity。它是一个经过深思熟虑的安全框架,可以处理身份验证,授权和细粒度权限。但是从我可以收集到的内容中,就像Spring Security一样,他们尽量不对这些数据的存储和组织方式做出假设。 (例如,我没有在数据库中找到用户,角色,权限等的参考实现。)

请注意,JSecurity项目已永久移至Apache Software Foundation,现在称为Apache Shiro项目。

答案 1 :(得分:0)

有趣的是你问,我也有一个非常相似的要求,并且已经搜索了一段时间。我放弃了,并开始自己做,并在过去两周取得了不错的进展。目前我支持不一定是Long的域ID,它可以是诸如通配符字符串之类的任何东西来表示可以授予权限(ROLE,GROUP,USER)或String id甚至是一组的东西。很久了可以定义多个权限类型,每个权限类型具有一组或多组权限,并且可以将这些权限类型分配为受保护实体支持,并且实例受其保护,因此您不具有最多32个可能权限的限制系统。您还可以在ACL配置中使用任何实际或虚拟实体。所有这些都基于Spring(3.0.0.R1)的Spring安全性和方法表达式支持,它运行得相当好。整个事情使用hibernate,因此您可以利用透明持久性和分布式缓存。有许多粗糙的边缘,但它是预期的概念证明。无论如何,如果你有兴趣我会告诉我们,我们可以合作使这对我们和其他人也有用。