Apache Shiro与Java EE本地API

问题描述:

有什么优势可以通过去看看Apache Shiro,并且离开Java EE的本地API来实现安全性和会话管理?Apache Shiro与Java EE本地API

我发现所有的安全角色和会话都可以在Apache Shiro中完成,但是同样的事情也可以在没有任何外部依赖jar的情况下使用Java EE安全完成。

所以建议我去Apache Schro的一些优点和缺点。

+0

请任何一个可以帮助我不能够判断....... – satheesh 2012-04-26 11:26:08

我有偏见,当然(我的Apache四郎项目的提交),所以把这个作为你认为合适的,但这里有我的意见:

  • Java EE的安全性不支持容器开箱即用的独立会话聚类选项(Shiro)。

  • Shiro从一开始就设计为在POJO /依赖注入环境中工作。它使用接口驱动设计,并提供比传统Java EE安全环境更多的定制挂钩(例如,您如何显示当前有多少用户使用Java EE安全性登录到您的站点?Shiro可以帮助您展示这一点)。

  • Shiro可跨任何应用环境完全移植。如果您使用特定于Java EE供应商的安全自定义设置,那么这些自定义设置将不可移植(例如,此* question显示切换到JBoss可能会解决用户的安全问题 - 一个令人不安的答案IMO)。

  • 在同样的服务器特定的自定义,许多Java EE安全tutorialsarticlesblog articles向您展示针对用户界面配置,跨平台的解决方式不同的东西,可能是令人沮丧,如果你重新学习开关。另外,Java EE配置通常需要XML。我更喜欢一种单一的,非冗长的文本配置格式,我可以在任何地方使用(shiro.ini很好,但人们也用groovy,yaml等配置shiro)。

  • Shiro被设计成在任何应用环境中工作。 Java EE安全性的设计非常适用于Java EE。至少在学习Shiro时,您可以在任何基于JVM的应用程序(Spring,Guice,Java EE,命令行等)中利用这些知识,而不仅仅是Java EE应用程序。

HTH!

莱斯

+0

感谢在Apache shiro.Can你的解释我得到的POJO注入环境四郎使用的一些更多的解释 – satheesh 2012-04-27 05:29:20

+2

> '这个*的问题表明切换到JBoss可能会解决用户的安全问题 - IMO的一个令人不安的答案 - 我给出了答案,我同意这令人不安。我创建了问题http://java.net/jira/browse/JAVAEE_SPEC-20,要求对安全配置的这个特定方面进行标准化。 – 2013-04-16 06:47:05