首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >面向人类的JAAS

面向人类的JAAS
EN

Stack Overflow用户
提问于 2009-03-09 23:27:00
回答 5查看 32.3K关注 0票数 84

我很难理解JAAS。这一切看起来都比实际情况要复杂(尤其是Sun教程)。我需要一个简单的教程或示例如何实现安全(身份验证+授权)在java应用程序基于Struts + Spring + Hibernate与自定义用户存储库。可以使用ACEGI实现。

EN

回答 5

Stack Overflow用户

发布于 2009-03-29 15:37:04

其他用户已经在上面提供了一些非常有用的链接,所以我就不再赘述链接了。我曾在JAAS中为web应用程序做过类似的研究,并遇到了“思想障碍”,直到我最终意识到JAAS是一个在不同于Java世界中的web应用程序的“层”上处理安全性的框架。构建它是为了解决Java SE而不是Java EE中的安全问题。

JAAS是一个安全框架,用于在比web应用程序低得多的级别上保护事物。这些东西的一些例子是JVM级别的代码和资源,因此所有这些在JVM级别设置策略文件的能力。

然而,由于Java是建立在Java之上的,JAAS中的一些模块在Java安全性中得到了重用,比如LoginModules和回调。

请注意,除了Java EE安全性之外,还有Spring安全性(以前称为Acegi),它与原生Java EE安全性类似,可以解决web应用程序安全问题中更高的“层”。它是一个单独的安全实现,并不是构建在标准Java安全之上的,尽管它在许多方面的行为类似。

总而言之,除非您希望保护Java SE级别的资源(类、系统资源),否则除了使用公共类和接口之外,我不认为JAAS有任何实际用途。只需专注于使用Spring Security或普通的老式Java安全性,它们都可以解决许多常见的web应用程序安全问题。

票数 51
EN

Stack Overflow用户

发布于 2013-05-04 06:11:13

lsiu的答案是这里为数不多的真正“明白了”的答案之一;)

除了这个答案,关于这个主题的一个很好的参考资料是Whatever Happened to JAAS?

它解释了JASPIC如何成为Java EE中Servlet和EJB安全模型之间的链接,并且可能是JAAS登录模块,但在许多情况下,JAAS的角色在Java EE中被简化为相对简单的用户名和角色提供者。

来自同一作者的是JAAS in the Enterprise,这是一篇较旧的文章,但提供了许多关于Java (JAAS)和Java模型为何如此不同的历史背景。

总的来说,JAAS中的一些类型直接用于Java,基本上是PrincipalSubjectCallbackHandler。后两者主要由JASPIC使用。我已经在文章Implementing container authentication in Java EE with JASPIC中解释过JASPIC。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/628416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档