2009-02-12 71 views
11

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

+0

将标记从jee5更改为javaee,因为您不应该将自己限制为最新版本! – 2009-02-12 09:27:11

回答

5

我强烈建议学习JAAS。这确实不难,但Sun网站上有一些有用的tutorialsreference guide

根据我的经验,JAAS的使用非常广泛,所以一旦你了解它,它绝对是你可以重用的东西。它也恰好是Glassfish认证机制的构建块之一!

5

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

JAAS是一个安全框架构建,用于在网络应用程序的低一级保护事物。这些东西的一些例子是在JVM级别提供的代码和资源,因此所有这些能够在JVM级别设置策略文件。

但是,由于J2EE是在J2SE之上构建的,JAAS中的一些模块在J2EE安全中重用,例如LoginModules和Callbacks。另一方面,Acegi也被称为Spring Security,它在解决网络应用程序安全问题时处理更高的“层次”。它建立在J2EE安全性之上,因此J2SE因此是JAAS。除非您希望保护J2SE级别(类,系统资源)中的资源,否则除了使用公共类和接口之外,我没有看到任何实际使用的JAAS。只关注使用Acegi或简单的旧的J2EE安全性,它解决了很多常见的Web应用程序安全问题。

在这一天结束时,了解您正在处理的J2EE-J2SE安全问题的哪个“层”并为问题选择写入工具是很重要的。

+0

经过一段时间的研究,我相信JSecurity(现在称为Ki(http://incubator.apache.org/ki/))是一个不错的选择。目前仍在开发中,但我目前测试的结果看起来很有希望。 – javadude 2009-04-30 10:01:59

+2

ki现在被称为shiro,只是一个关于外来者的笔记 – 2013-03-05 21:18:54

8

我刚才已经采取了这一http://shiro.apache.org/

阿帕奇四郎的观点是一个功能强大且易于 ,使用的Java安全框架 执行身份验证,授权 ,加密和 会话管理。通过Shiro的 易于理解的API,您可以快速,轻松地保护任何 应用程序 - 从最小的移动应用程序到最大的应用程序和 企业应用程序。

0

当你在JBoss下强调一个Web应用程序(比如说一个简单的GET的并发数为50个线程的200万个请求)时,apache shiro可悲地失败了。 是非常dissapointing找出这一点。当您使用过滤器时,会发生这种情况。

2

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