我目前正在开发一个在JBoss AS 7上运行的项目,该项目需要各种来源的身份验证。我试图理解提供认证的各种组件。了解Java应用服务器中的身份验证
我有一些假设/猜测如何这一切都适合在一起,但我需要确保我的理解是正确的。所以下面是我所了解的JBoss AS7的认证过程。
你有一个安全域,定义用户如何进行身份验证。这个领域然后暴露给您的应用程序,以确保其中的一部分或全部。在AS7中,在<子系统中配置xmlns =“urn:jboss:domain:security:1.0”>元素。
该领域可以配置为使用登录模块(如数据库,LDAP,本地文件或其他)对各种来源的用户进行身份验证。可以定义多个登录模块,并且可以指定登录模块的某些组合必须“成功”才能进行身份验证。
实际的用户名和密码通过在web.xml文件(对于servlet)中定义的机制传递,在<登录配置>元素中定义。
假设上述处理是正确的(并且可能没有):
- 是否像JAAS的规范下这整个认证过程掉落,或是JAAS的只是一个小的或可选部分这个程序?
- 所有类型的<认证方法>的(即BASIC,DIGEST和FORM)可以与各种登录模块一起工作吗? This page似乎不建议,但我还没有看到任何明确的文档匹配<登录模块>选项<登录配置>选项。
- 从登录-config来登录模块的用户名和密码的流动似乎直线前进足够的,但像OpenID的OAuth的或在有中间步骤(如重定向到外部登录页)系统会发生什么?
- 像Seam 3 Security,Apache Shiro和Spring Security这样的项目如何适合这张照片?
要跟踪Yves的回答,您可以在这里找到更多关于Apache Shiro的信息:http://shiro.apache.org如果遇到任何问题,请随时发布到列表。 – Chunsaker 2012-05-10 00:45:32