1
23
以下是我用来帮助理解JAA的一些链接: http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html http://jaasbook.wordpress.com/ 还可以了解ApacheTomcat领域的配置方法: |
2
51
其他用户在上面提供了一些非常有用的链接,所以我不想再为这些链接操心了。我在JAAS中对Web应用进行了类似的研究,并且已经进入了“思想障碍”,直到我终于意识到JAAS是一个在不同的“层”上处理安全性的框架,然后是Java世界中的Web应用程序。它是为了解决Java SE而不是Java EE的安全问题而构建的。 JAAS是一个安全框架,用于在比Web应用程序低得多的级别上保护事物。其中的一些例子是在JVM级别上可用的代码和资源,因此所有这些功能都可以在JVM级别上设置策略文件。 然而,由于JavaEE构建在JavaSE之上,JAAS中的一些模块被重用在Java EE安全性中,例如Login模块和回调。 注意,除了JavaEE安全之外,还有Spring Security(以前称为AcEGI),类似于本机Java EE安全解决了在安全Web应用程序问题中高得多的“层”。它是一个单独的安全实现,并不是建立在标准的JavaEE安全之上,尽管它在很多方面都是类似的。 总而言之,除非您想在Java SE级别(类、系统资源)中确保资源,否则除了使用公共类和接口之外,我看不到JAAS的任何实际使用。只关注使用Spring Security或普通JavaEE安全性,这两种方法都解决了许多常见的Web应用程序安全问题。 |
3
11
security是imho过度复杂的API。因此,不仅有逻辑模块的实现者,还有整个身份验证和授权API的实现者,它们在上面创建了抽象层,如身份验证和授权管理器。 首先,最好打印 this 在你的记忆中。 其次,对于JAAS,imho最简单的设置和Go库是jboss PicketBox . 它说明了如何通过jbossAuthenticationManager和jbossAuthorizationManager进行身份验证和授权…可通过XML或注释轻松配置。您可以使用它来管理webapps和独立应用程序。 如果您需要授权部分来管理存储库访问,就资源的ACL而言,这是您需要确定的。 安全性的问题是,通常您需要根据自己的需要对其进行定制,因此您最终可能会实现: 验证模块 -验证用户名+密码
回调处理程序
像这样使用
Callbackhandler被传递给底层的loginmodules,这样它们就可以与用户进行通信和交互——例如,通过图形用户界面提示输入用户名和密码。因此,在处理程序内部,您可以从用户那里获得用户名和密码,并将其传递给loginmodle。 登录上下文 -然后您只需调用lc.login();并对凭证进行身份验证。使用已验证的主题填充LoginContext。 不过,jboss picketbox为您提供了一个非常简单的方法,除非您需要特定的东西。 |
4
8
LSIU的答案是少数真正“明白”的答案之一。) 除此之外,关于这个主题的一个很好的参考文献是 Whatever Happened to JAAS? . 它解释了Jasic是JavaEE中的servlet和EJB安全模型之间的链接,可能是JAAS登录模块,但在很多情况下JAAS的角色被简化为JavaEE中相对简单的用户名和角色提供程序。 来自同一作者 JAAS in the Enterprise 这是一个较老的文章,但它提供了许多历史背景,说明为什么Java SE(JAAS)和JavaEE模型偏离了他们的方式。
总体上,JAEE中直接使用的几种类型基本上是JavaEE。
|
5
2
我不能对贾斯说太多,但是这个 "suggested steps" guide 关于弹簧安全和 the reference manual 这两个都是关于Spring安全性的很好的资源——如果您的设置非常简单,那么您不需要做太多的事情来阅读这些。 |