ApacheShiro&;面向新手的Java安全

ApacheShiro&;面向新手的Java安全,java,security,apache,shiro,owasp,Java,Security,Apache,Shiro,Owasp,我对Java的安全模型几乎一无所知,包括XML配置、策略设置、任何安全框架组件、工具(如密钥库等)以及这两者之间的一切 虽然我知道这最终会成为我卷起袖子深入学习Java安全性的必要条件,但我想知道使用ApacheShiro之类的工具是否会有助于简化转换。因此,我对它有一些担忧 Shiro本质上是Java应用程序(尤其是web应用程序)中实现安全性的“交钥匙、catchall包装器”。也就是说,可以用他们的项目配置Shiro并对其进行本质上的调优来完成所有相同的配置、策略设置等,而不使用Shiro

我对Java的安全模型几乎一无所知,包括XML配置、策略设置、任何安全框架组件、工具(如密钥库等)以及这两者之间的一切

虽然我知道这最终会成为我卷起袖子深入学习Java安全性的必要条件,但我想知道使用ApacheShiro之类的工具是否会有助于简化转换。因此,我对它有一些担忧

Shiro本质上是Java应用程序(尤其是web应用程序)中实现安全性的“交钥匙、catchall包装器”。也就是说,可以用他们的项目配置Shiro并对其进行本质上的调优来完成所有相同的配置、策略设置等,而不使用Shiro则必须“手动”(零碎地)完成这些工作吗?如果没有,Shiro有什么缺点(Shiro不能为我做的重要事情有哪些)?是否存在Shiro根本没有解决的任何大型漏洞

同样,我也听说了OWASP的ESAPI框架的优点。你对两者都有经验吗?ESAPI和Shiro是否可以配置为协同工作,或者只是一个二进制“一个或另一个”类型的交易


提前谢谢

简短的回答是肯定的。Shiro和ESAPI都可以协同工作,尽管这两个API之间存在大量冗余功能。Shiro为您提供了涵盖标准Java安全模型所需的一切。ESAPI通过提供OWASP的全球标准化安全机制,超越了以往


像我这样的新手应该使用Shiro,因为他们不了解Java安全性和/或一般应用程序/服务器安全性。它为安全无知者处理了很多事情。ESAPI应该由已经了解Java安全性的编程安全专业人员使用,他们不仅希望利用Java EE提供的所有功能,还需要付出更多努力,使事情更加安全。

您的实际需求是什么?我的需求是:(1)我需要知道Shiro和ESAPI是否相互排斥,(2)Shiro是否提供了在没有它的情况下保护web应用程序时通常会获得的所有相同的安全性。