Spring Security vs Apache Shiro

时间:2012-07-16 08:32:17

标签: spring apache security spring-security shiro

到目前为止我研究的大多数人都说Apache Shiro易于使用且易于与CAS集成(用于SSO等)。只是问一下是否有人有使用它们的经验以及使用哪一个以及为什么一个比其他更好?

5 个答案:

答案 0 :(得分:46)

许多Shiro开发人员使用Spring作为他们的应用程序,因此Shiro在Spring环境中运行得非常好。到目前为止我们收到的一般反馈是,对于大多数人来说,Shiro比Spring Security更容易理解。

如果您希望在任何Web容器中提供完整的会话群集支持,则只有Shiro可以轻松支持此功能。 Shiro的加密也很简单/易于使用。

选择最适合您的心理模型的方法 - 两者在Spring环境中都能很好用。

答案 1 :(得分:37)

我最近不得不评估shiro和spring的安全性。我们选择了spring security(实际上我们扩展了spring security,以更好的方式使用shiro权限字符串 - 使用实例变量进行annoations)。

Spring Security

  • 正在积极发展。
  • 有更多的社区支持。
  • Spring安全性扩展提供对Oauthkerberos的支持 和SAML

<强>四郎

  • 不支持saml或Oauth。
  • 未提及安全政策之前和之后的支持。
  • 积极的发展似乎有限,网站仍然 contains erroneous information

答案 2 :(得分:14)

我已经评估了Shiro和Spring的安全性。人们对Shiro的主要优势是简单,但我相信Spring Security(3.0)并不复杂。我花了几乎相同数量的配置来设置。此外,Spring Security比Shiro有更好的文档记录。 但是Shiro的主要问题是它不支持OAuth或摘要认证(他们计划将来包括它https://issues.apache.org/jira/browse/SHIRO-20)。 我的结论:今天我会选择春季保安。

答案 3 :(得分:3)

Shiro更好用。它的代码非常简单,可以灵活地扩展它并在需要时提供自定义行为。它还提供Ehcache的内部缓存实现,您可以通过该实现在服务器群集上复制会话。 如果您要为您的应用程序设计RBAC(基于角色的访问控制)系统,它将为您提供处理资产级别权限的灵活性,并且与Spring安全性相比,其访问控制机制非常灵活。

答案 4 :(得分:-1)

Spring Security和Shiro都使用Spring框架设置了很棒的功能。我测试了他们两个。对我来说,弹簧安全性易于集成,并且根据开发人员的观点完全可以理解。和Shiro也很容易集成,但对我来说Spring更容易集成。