0

我正在尝试在一个简单的 JSP 应用程序中实现 OpenID 身份验证。

基于-FORM的身份验证真的让我抓狂,因为没有办法监听prepost -authenticate 事件。

当我收到来自 OpenID 提供者的用户信息时,我想建议他们填写简单的注册表单(即编辑从身份提供者收到的详细信息,并可选择添加一些附加信息)。但是如果我使用标准的“j_security_check”操作,这些细节就会丢失。如果我尝试以编程方式登录用户(即使用 HttpServletRequest#login(user, password) 我无法将用户重定向到最初请求的 URL(因为只FormAuthenticator保留此信息)。

有没有办法使用一些预先配置的 JDBC 领域来手动控制身份验证机制?也就是说,我不想<login-config />在我的 web.xml 中指定,但是在调用 HttpServletRequest#login 时,我想针对 JDBC 领域进行身份验证。这可能吗?

4

1 回答 1

2

不,这对于 GlassFish 提供的 ootb 基本上是不可能的。你需要深入挖掘。您最终将使用自定义 JAAS LoginModule 和 JSR-196 Login Bridge。更多指针:

于 2012-07-12T06:23:16.917 回答