Apache Shiro与Java EE本机API

sat*_*esh 10 apache java-ee shiro

进入Apache Shiro并将Java EE的本机API用于安全性和会话管理有什么优势?

我发现所有安全角色和会话都可以在Apache Shiro中完成,但同样的事情也可以使用Java EE安全性完成,而无需任何外部依赖项jar.

所以建议我去Apache Shiro的一些优点和缺点.

Les*_*ood 15

我当然有偏见(我是Apache Shiro项目的提交者),所以请按照你认为合适的方式,但这是我的意见:

  • Java EE Security不支持开箱即用的与容器无关的会话群集选项(Shiro确实如此).

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

  • Shiro可在任何应用程序环境中完全移植.如果您使用特定于Java EE供应商的安全性自定义,则那些不可移植(例如,此StackOverflow问题表明切换到JBoss可能会解决用户的安全问题 - 这是一个令人不安的答案IMO).

  • 与服务器特定的自定义相同,许多Java EE安全教程,文章博客文章都显示了基于用户界面的配置,这些配置可以跨平台以不同方式解决问题,如果切换,重新学习可能会令人沮丧.此外,Java EE配置通常需要XML.我更喜欢单一的,非冗长的文本配置格式,我可以在任何地方使用(shiro.ini很好,但人们也配置shiro与groovy,yaml等).

  • Shiro旨在适用于任何应用环境.Java EE安全性设计得很好 - 仅适用于Java EE.至少在学习Shiro时,您可以在任何基于JVM的应用程序(Spring,Guice,Java EE,命令行等)中利用这些知识,而不仅仅是Java EE应用程序.

HTH!

莱斯

  • >`这个StackOverflow问题表明切换到JBoss可能会解决用户的安全问题 - 一个令人不安的答案IMO` - 我给出了答案,我同意这令人不安.我创建了问题http://java.net/jira/browse/JAVAEE_SPEC-20,要求对安全配置的这个特定方面进行标准化. (2认同)