JAAS、Spring Security 或 Apache Shiro
Posted
技术标签:
【中文标题】JAAS、Spring Security 或 Apache Shiro【英文标题】:JAAS, Spring Security or Apache Shiro 【发布时间】:2016-04-08 08:35:38 【问题描述】:关于 java 中的安全框架的简单问题。
迄今为止,JAAS 一直是我的首选框架。是的,人们抱怨它很难设置,它需要挂钩到你的底层系统,但它确实有效 并且具有成为规范的额外好处。
也就是说,我最近一直在研究 Java 中的其他安全框架,其中两个似乎在网上最受关注的是:
1 - Spring 安全性
Spring Security 似乎非常受欢迎,但我发现使用它有点复杂。
2 - Apache Shiro
Apache Shiro 似乎比 Spring Security 更直接,但它似乎缺少一些文档。
所以我的问题是,在上面提到的框架中,人们认为我应该花时间学习 Spring Security 还是 Apache Shiro?
(或者我应该坚持使用 JAAS?)
【问题讨论】:
【参考方案1】:如果您想在 Web/非 Web 环境的混合环境中使用 Shiro,它非常棒。它是高度可定制的。我们使用它来进行多租户授权,并且我们还使用 shiro 实现了一些自定义权限要求。
您还可以从 shiro 中的几乎每个类创建 spring bean,因为代码设置非常干净,并且非常适用于 spring 注入(或我猜的任何其他依赖注入框架)。
正如开发人员所说,缺少文档。我们做了很多阅读源代码来获得我们的修复,所以如果你想做更高级的配置,请注意你必须深入到源代码中。
对于简单的设置,shiro 的标准文档将在大多数情况下为您提供帮助。
恕我直言 spring 安全性很好,但它没有 shiro 提供的灵活性。
【讨论】:
我已经开始和 Shiro 搞混了,遇到了一个障碍,关于我当前遇到的问题的任何想法 - ***.com/questions/34637907/…【参考方案2】:我个人使用 apache shiro,因为它可以使用 shiro.ini 和扩展预构建类进行高度自定义。配置也只是一个 shiro.inin 文件,在 web.xml 中有一些条目。它有来自第三方的良好文档,例如
http://meri-stuff.blogspot.in/2011/03/apache-shiro-part-1-basics.html
同一页面中的其他部分链接。
它可以与 springs、guice、sso 等集成,所以我选择它。
【讨论】:
【参考方案3】:还有第四个选项。 在主流的web架构中,如何通过有效、快速的认证来保护后端提供的restful api变得尤为重要。
-
对于 shiro,它本身不支持 restful api。
Spring 安全性与 Spring 框架深度绑定,学习曲线陡峭。
所以我们设计了sureness,我们希望提供一个restful api,没有框架依赖,可以动态修改权限,多种认证策略,更快,易用,扩展安全框架。欢迎使用。
确定性 - https://github.com/tomsun28/sureness
【讨论】:
到目前为止,您唯一的答案是宣传我认为是您自己的项目,而没有说明它是由您完成的。请注意,如果您继续这样做,这可能会被视为垃圾邮件。 @Kemp 抱歉,我是回答问题的新手。我稍后会更正。以上是关于JAAS、Spring Security 或 Apache Shiro的主要内容,如果未能解决你的问题,请参考以下文章
与 Spring Security/Apache Shiro 相比,JAAS 的缺点是啥?
如何使用自定义 JAAS 堆栈配置 Spring Security?