我正在尝试保护我的应用程序,它是使用JSF2.0构建的。
我很困惑什么时候人们会选择像Shiro,Spring security或者owasp的esapi这样的安全选择,而不是容器管理的安全。在看过一些related questions on Stack Overflow之后,我意识到基于容器的安全性在过去更受JSF开发人员的青睐。但是我也被强烈推荐使用Apache Shiro。就安全问题而言,我是新手,不知道相关的问题是什么&如何处理它们。因此,我正在寻找一种通过其默认设置/独立处理大多数安全问题的工具。
就我的应用程序需求而言,我有一个社交应用程序,其中具有不同角色的用户可以访问不同的页面集,并可以基于其角色在这些页面上使用不同级别的功能。
那样的话,你觉得我该选哪一个?
我个人已经被说服选择Shiro,因为它很容易使用,并且可以为新手处理大部分事情。
发布于 2011-10-16 17:29:21
除了以下内容之外,我对Apache Shiro一无所知,但您引用的内容实际上是来自他们的Web page,其中包含几个错误的陈述,例如“JAAS需要只有程序员才能更改的静态定义”,“JAAS与虚拟机级别的关注点捆绑得太紧”,以及JAAS与用户和角色无关的暗示,这是完全错误的。我希望有很大的说服力来摆脱容器管理的安全性。它是Servlet规范的一部分,所以任何容器都必须支持它;这是很好理解的;它是由JDK类支持的,没有第三方;...它适用于我;-)
发布于 2012-12-28 10:52:50
我决定将SpringSecurity (SS)作为我们的身份验证和授权框架。主要是因为SS做了OpenID和OAuth。不过,我必须为权限/组/用户/实体系统自定义它。我计划在“EntityManager/Entity”级别、服务级别和Web/API级别进行授权。“锁上门,但把你的珠宝放在3吨重的保险箱里,放在后面的房间里”最后一半的Shiro处理起来要好得多。但我不喜欢尝试将openid4j/openauth4j集成到Shiro中。
在没有任何干扰或代码膨胀的情况下,挑选两者的功能将是非常好的。这是最好的选择。
另外,Spring还带来了很多其他功能,比如与JSF的集成,因此它有很大的吸引力。
https://stackoverflow.com/questions/7782720
复制相似问题