【问题标题】:Spring security vs Apache Shiro [duplicate]Spring安全与Apache Shiro [重复]
【发布时间】:2012-07-15 02:01:42
【问题描述】:

到目前为止,我所研究的大多数人都说 Apache Shiro 易于使用并且易于与 CAS 集成(用于 SSO 等)。只是想问是否有人有使用这两种方法的经验,使用哪一种,为什么一种比另一种更好?

【问题讨论】:

标签: spring apache security spring-security shiro


【解决方案1】:

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

但是,如果您想要跨任何 Web 容器的完整 Session 集群支持,那么只有 Shiro 可以轻松支持。 Shiro 的加密也非常简单/易于使用。

选择最适合您的心理模型的 - 两者都可以在 Spring 环境中很好地工作。

【讨论】:

  • 同意,Spring security 声名鹊起与 Spring“品牌”的关系比任何事情都重要。使用一个库(我相信是 Acegi)并将名称更改为包含“Spring”并不能使其成为最佳选择。现在每个人的奶奶似乎都有一个项目赶上了春天的潮流。 Rod 提出了一些有趣的概念,这很好。然后它成长为一个典型的庞然大物,失去了以前的力量简单易用。 Spring 所涉及的一切都不会自动获胜。这更像是宗教而不是 IT。
【解决方案2】:

我最近不得不评估 shiro 和 spring 安全性。我们使用了 spring security(事实上,我们扩展了 spring security 以更好地使用 shiro 权限字符串 - 在注释上使用实例变量)。

Spring 安全性

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

四郎

【讨论】:

  • 我们使用的是spring框架。但是,问题是什么是最好的? spring security 看起来比 apache Shiro 更难实现和理解?
  • spring secruity 很好,如果你有使用 spring 的话就去吧。
  • 我认为你是对的。在查看了这两种技术的优缺点之后,spring security 是赢家。
  • Spring 安全性肯定更难实现、配置和理解。毫无疑问。 Shiro 是为简单而设计的,与 Spring 一起工作得很好。除非你绝对需要它,否则放弃 Spring Security,为什么在更简单的解决方案可以正常工作时使用更复杂的解决方案? (工作保障?)
  • @Mifune 工作安全/前景将是恕我直言的完全正当理由。但是我的回答中列出的原因呢?
【解决方案3】:

我已经评估了 Shiro 和 Spring 的安全性。人们声称 Shiro 的主要优点是简单,但我相信 Spring Security (3.0) 并不复杂。我花了几乎相同数量的配置行来设置。此外,Spring Security 的文档记录也比 Shiro 好得多。 但是 Shiro 的主要问题是它不支持 OAuth 或 Digest Authetication(他们计划在未来包含它 https://issues.apache.org/jira/browse/SHIRO-20 )。 我的结论:今天我会选择春季安全。

【讨论】:

  • 您引用的错误不是关于 OAut,而是关于 Digest HTTP 身份验证,无论如何它都是残留的。如果您需要 OAuth,那么这里是适合您的 Shiro-Oauth 模块:github.com/FeedTheCoffers/shiro-oauth
【解决方案4】:

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

【讨论】:

    【解决方案5】:

    Spring Security 和 Shiro 都与 Spring 框架完美结合。我已经测试了他们两个。对我来说,spring security 很容易集成,并且从开发人员的角度来看是完全可以理解的。 Shiro 也很容易集成,但对我来说 Spring 更容易集成。

    【讨论】:

      猜你喜欢
      • 2016-12-17
      • 2017-11-24
      • 2014-08-31
      • 1970-01-01
      • 2016-07-30
      • 2015-09-18
      • 2022-01-22
      • 2013-09-15
      • 2016-04-08
      相关资源
      最近更新 更多