关于java中安全框架的一个简单问题。
到目前为止 JAAS 一直是我的框架。是的人抱怨它很难设置,它需要挂钩你的底层系统,但它做了它的工作 并且还有作为规范的额外好处。
那就是说我最近一直在研究Java中的其他安全框架,这两个似乎在网上最受关注的是:
1 - Spring Security
Spring Security似乎非常受欢迎,但我发现它有点令人费解。
2 - Apache Shiro
Apache Shiro似乎比Spring Security更直接,但似乎缺少一些文档。
所以我的问题是,在上面提到的框架中,人们认为我应该花时间学习Spring Security或Apache Shiro吗?
(或者我应该坚持使用JAAS?)
答案 0 :(得分:8)
如果您希望在Web /非Web环境的混合中使用Shiro,那么Shiro非常棒。它是高度可定制的。我们使用它来进行多租户授权,我们也有一些使用shiro实现的自定义权限要求。
你也可以在shiro的几乎每个类中创建spring bean,因为代码设置非常干净,并且非常适用于spring注入(或者我猜的任何其他依赖注入框架)。
正如开发人员所说,文档缺乏。我们做了很多阅读源代码以获得我们的修复,因此如果您想要进行更高级的配置,请注意您必须深入了解源代码。
对于简单的设置,shiro的标准文档在大多数情况下都会对您有所帮助。
Imho spring的安全性很好,但它没有shiro提供的灵活性。
答案 1 :(得分:4)
我个人使用apache shiro,因为它可以使用shiro.ini高度自定义并扩展prebuild类。另外配置是一个shiro.inin文件,其中包含web.xml中的一些条目。它有来自第三人的良好文档,如
http://meri-stuff.blogspot.in/2011/03/apache-shiro-part-1-basics.html
其他部分链接在同一页面中。
它可以与弹簧,guice,sso等集成,所以我随身携带。
答案 2 :(得分:0)
还有第四种选择。
在主流的web架构中,如何通过有效快速的认证保护后端提供的restful api变得尤为重要。
所以我们设计了sureness,我们希望提供一个restful api,没有框架依赖,可以动态修改权限,多种认证策略,更快,易用和扩展的安全框架。欢迎使用。