12

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

4

7 回答 7

8

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

Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。借助 Shiro 易于理解的 API,您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。

于 2011-05-17T11:30:09.097 回答
5

我强烈推荐学习JAAS。学习起来并不难,Sun 网站上有一些有用的教程参考指南。

以我的经验,JAAS它被广泛使用,所以一旦你学会了它,它绝对是你可以重用的东西。它也恰好是Glassfish身份验证机制的组成部分之一!

于 2009-02-12T08:59:36.967 回答
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 安全问题的哪个“层”,并为该问题选择编写工具。

于 2009-03-30T04:56:05.223 回答
4

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

于 2014-11-06T06:02:41.710 回答
2

JBoss 有替代方案。PicketBox 的新版本。更多信息在这里: https ://docs.jboss.org/author/display/SECURITY/Java+Application+Security

于 2012-08-31T23:10:40.150 回答
0

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

它从各种 Java 安全框架(如 JAAS、Shiro 或 Spring Security)提供 1000 英里视图。一切都取决于您的要求和您选择的技术堆栈

于 2014-03-09T01:32:52.517 回答
0

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

于 2011-06-02T20:39:32.503 回答