Java安全框架

时间:2009-02-12 08:46:03

标签: security frameworks java-ee glassfish jaas

安全总是倾向于在新项目中占据最后位置。或者您使用像Spring这样的框架,其中安全性已经内置并且可以轻松打开。 我试图找到一个可以插入Swing和Web应用程序(和JavaFX?)的开放式安全框架,也许很容易消化。我看了普通的JAAS,JGuard和JSecurity,但它太复杂了,无法入门。 分享的任何建议或经验? 我正在使用NB,Glassfish和MySQL。 谢谢 斯文

7 个答案:

答案 0 :(得分:8)

我刚看过这个http://shiro.apache.org/

  Apache Shiro是一个功能强大的   易于使用的Java安全框架   执行身份验证,   授权,密码学和   会话管理。有了Shiro的   易于理解的API,你可以   快速轻松地保护任何人   应用 - 来自最小的移动设备   应用程序到最大的Web和   企业应用程序。

答案 1 :(得分:5)

我强烈建议学习JAAS。提取起来并不困难,Sun网站上有一些有用的tutorials和一个reference guide

根据我的经验,JAAS被广泛使用,所以一旦你学会了它,它肯定会被重用。它也恰好是Glassfish身份验证机制的构建块之一!

答案 2 :(得分:5)

我在JAAS上进行了类似的Web应用程序研究,并且遇到了“思路障碍”,直到我终于意识到JAAS是一个框架,解决了Java世界中传统Web应用程序不同“层”的安全问题。它是为解决J2SE而非J2EE中的安全问题而构建的。

JAAS是一种安全框架构建,用于在比Web应用程序更低级别保护事物。这些事情的一些示例是JVM级别可用的代码和资源,因此所有这些都能够在JVM级别设置策略文件。

但是,由于J2EE构建在J2SE之上,因此JAAS的一些模块在J2EE安全性中重用,例如LoginModules和Callbacks。

另一方面,Acegi,又名Spring Security,在安全的Web应用程序问题中解决了更高的“层”。它建立在J2EE安全之上,因此J2SE因此成为JAAS。除非您希望保护J2SE级别(类,系统资源)中的资源,否则除了使用公共类和接口之外,我没有看到JAAS的任何实际用途。只关注使用Acegi或普通的旧J2EE安全性,它解决了许多常见的Web应用程序安全问题。

在一天结束时,了解您正在处理的J2EE-J2SE安全问题的“层”并选择针对该问题的写入工具非常重要。

答案 3 :(得分:3)

我建议你看看OACC(http://oaccframework.org)。 OACC旨在解决应用程序安全性问题。与大多数框架不同,OACC能够在您的应用程序中存储/管理授权关系。 OACC的授权模型比Shiro或Spring Security更强大。

答案 4 :(得分:2)

JBoss还有其他选择。 PicketBox的新版本。更多信息: https://docs.jboss.org/author/display/SECURITY/Java+Application+Security

答案 5 :(得分:0)

当你在JBoss下强调一个Web应用程序时,apache shiro失败了(比如一个简单的GET,并发50个线程的200万个请求)。 发现这一点非常令人失望。 当您使用过滤器时会发生这种情况。

答案 6 :(得分:0)

您可以阅读http://code4reference.com/2013/08/guest-posttop-java-security-frameworks-for-developing-defensive-java-applications/

它提供了来自各种Java安全框架的1000英里视图,例如JAAS,Shiro或Spring Security。所有这些都取决于您选择的要求和技术堆栈