我对Java的安全模型几乎一无所知,包括XML配置,策略设置,任何安全框架组件,工具(如密钥库等)以及介于两者之间的所有内容。
虽然我理解它最终将成为必不可少的让我卷起袖子并深入学习Java安全性,但我想知道使用像Apache Shiro这样的东西是否有助于缓解过渡。因此,我对它有一些担忧。
Shiro本质上是一个用于在Java应用程序(尤其是Web应用程序)中实现安全性的“交钥匙,捕获包装器”。意思是,可以用他们的项目配置Shiro并且基本上调整它做所有相同的配置,策略设置等,一个人必须“手动”(零碎)没有它吗?如果没有,那么Shiro有什么缺点(什么是大事 Shiro不能为我做的那些至关重要的事情)? Shiro根本没有解决任何大的漏洞吗?
同样,我听说过OWASP的ESAPI框架。 Aybody有两种经验吗? ESAPI和Shiro可以配置为一起工作还是仅仅是二元“一个或另一个”类型的交易?
提前致谢!
答案 0 :(得分:9)
简短的回答是肯定的。尽管两个API之间存在大量冗余功能,但Shiro和ESAPI 都可以协同工作。 Shiro为您提供了覆盖标准Java安全模型所需的一切。通过提供OWASP的全球标准化安全机制,ESAPI超越了它。
Shiro应该像我这样真正不了解Java安全性和/或一般应用程序/服务器安全性的新手使用。对于安全无知的人来说,它需要处理很多事情。 ESAPI应该由已经了解Java安全性的安全专业人员编程使用,并且不仅希望利用Java EE附带的所有内容,而且还需要更加努力并使事情变得更加安全。