我对 Java 的安全模型一无所知,包括 XML 配置、策略设置、任何安全框架组件、工具(如 keystore 等)以及介于两者之间的一切。
虽然我知道卷起袖子深入学习 Java 安全性最终将成为必不可少的,但我想知道使用 Apache Shiro 之类的东西是否有助于稍微简化过渡。因此,我对此有一些担忧。
本质上,Shiro 是一个用于在 Java 应用程序(尤其是 Web 应用程序)中实现安全性的“交 key 、包罗万象的包装器”。意思是,是否可以用他们的项目配置 Shiro 并从本质上调整它来执行所有相同的配置、策略设置等,如果没有它,人们将不得不“手动”(零碎地)执行所有相同的配置、策略设置等?如果不是,Shiro 有什么缺点(Shiro 不能为我做哪些至关重要的大事)?是否存在 Shiro 根本没有解决的任何重大漏洞?
同样,我听说过关于 OWASP 的 ESAPI 框架的好消息。任何人都有这两者的经验? ESAPI 和 Shiro 是否可以配置为一起工作,或者它只是一个二元的“一个或另一个”类型的交易?
提前致谢!
最佳答案
简短的回答是肯定的。 Shiro 和 ESAPI 可以一起工作,尽管这两个 API 之间有一些冗余功能。 Shiro 为您提供了覆盖标准 Java 安全模型所需的一切。 ESAPI 通过提供 OWASP 的全局标准化安全机制超越了一切。
Shiro 应该供像我这样真正不了解 Java 安全性和/或一般应用程序/服务器安全性的新手使用。它为安全无知的人处理了很多事情。 ESAPI 应该由已经了解 Java 安全性并且不仅希望利用 Java EE 附带的所有内容而且需要更进一步并使事情变得更加安全的编程安全专业人员使用。
关于java - Apache Shiro 和新手 Java 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587251/