具有多个 JAAS 安全领域的 Java 应用程序
我想知道是否有可能拥有一个具有多个 JAAS 安全领域的 Java EE 应用程序。 我目前正在开发一个应用程序,其中一些用户需要使用数据库中存储的数据进行身份验证,而其他用户则需要通过 LDAP 绑定进行身份验证。
因此,我在 glassfish 3.1 中创建了 2 个安全领域,一个 JDBC 领域和一个 LDAP 领域,并将我的 web.xml 配置为使用 LDAP 领域(大多数用户是 LDAP)。
然后我使用:
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
request.login(username, password);
来验证用户
是否可以在调用“request.login”之前切换到 JDBC 领域?
提前致谢
I was wondering if it was possible to have a Java EE application with multiple JAAS security realms.
I'm currently developing an application in which some users need to be authenticated with data stored in a database, while other users need to be authenticated through an LDAP bind.
So I created 2 security realms in glassfish 3.1, a JDBC realm and an LDAP realm and configured my web.xml to use the LDAP realm (most users are LDAP).
I then use :
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
request.login(username, password);
to authenticate user
is it possible to switch to JDBC realm before calling 'request.login' ?
thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你见过这个吗?
使用 JAAS 进行跨域单点登录身份验证
http://www.devx.com/security/Article/28849/1954
Have you seen this?
Cross-Domain Single Sign-On Authentication with JAAS
http://www.devx.com/security/Article/28849/1954
我在某处看到您可以配置为在一个领域中使用两个领域或两种方法,如果第一个失败,它将尝试第二个。我不知道我在哪里看到的,抱歉。也许这将为您指明正确的方向。
I have seen somewhere that you can configure to use two realms or two methods in one realm, that if the first fails it will try the second. I dont know where I saw it sorry. Perhaps that will point you in the right direction.
您必须对自定义 JAAS 登录模块进行编程,尝试在方法中进行身份验证,如果不起作用,请尝试方法 B。
在您的应用程序中,透明地所有工作都在 JAAS 登录模块中进行。
You must program your custom JAAS login module that try authenticate in method and if is not work try method B.
In you application is transparently all works in the JAAS login module.