Spring安全与Apache Shiro

到目前为止,我所研究的大多数人都认为Apache Shiro易于使用,并且易于与CAS集成(用于SSO等)。 只是问有没有人有使用过这两种方法的经验,哪一方面比其他方法好?

我最近不得不评估两个都和spring的安全。 我们用spring安全(实际上我们扩展了spring的安全性,以更好的方式使用shiro权限string – 在annoations上使用实例variables)。

春季安全

  • 积极发展。
  • 有更多的社区支持。
  • Spring安全性提供了对Oauth和Kerberos以及SAML的支持 。

四郎

  • 不支持saml或Oauth。
  • 在安全策略之前和之后没有提到支持。
  • 积极的发展似乎有限,网站仍然包含错误的信息 。

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

如果你希望在任何Web容器中支持完整的Session集群支持,只有Shiro会很容易的支持。 四郎的encryption也非常简单/易于使用。

select最适合你的心智模式 – 在春季环境中都能很好地工作。

我已经评估了Shiro和Spring安全。 人们对Shiro的主要优点是简单,但我相信Spring Security(3.0)并不复杂。 我花了几乎相同数量的configuration线来设置。 另外Spring Security比Shiro有更好的logging。 但Shiro的主要问题是它不支持OAuth或Digestauthentication(他们计划将来将其包含在https://issues.apache.org/jira/browse/SHIRO-20 )。 我的结论是:今天我会去春季安全。

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

Spring Security和Shiro都使用Spring框架。 我已经testing了他们两个。 对我来说,Spring的安全性很容易整合,根据开发人员的观点是完全可以理解的。 Shiro也很容易整合,但对我来说Spring更容易整合。