安全总是倾向于在新项目中占据最后位置。或者您使用像Spring这样的框架,其中安全性已经内置并且可以轻松打开。 我试图找到一个可以插入Swing和Web应用程序(和JavaFX?)的开放式安全框架,也许很容易消化。我看了普通的JAAS,JGuard和JSecurity,但它太复杂了,无法入门。 分享的任何建议或经验? 我正在使用NB,Glassfish和MySQL。 谢谢 斯文
答案 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)
答案 6 :(得分:0)
它提供了来自各种Java安全框架的1000英里视图,例如JAAS,Shiro或Spring Security。所有这些都取决于您选择的要求和技术堆栈