0

对于新客户端,我必须用 LDAP 替换应用程序的 JAAS 身份验证。
流程转到javax.security.auth.login.LoginContext类的 login()。这里有两个步骤来验证

// module invoked in doPrivileged
        invokePriv(LOGIN_METHOD);
        invokePriv(COMMIT_METHOD);

invokePriv(LOGIN_METHOD);转到 JAAS 登录类或 LDAP 登录类并以 loginSucceeded = true 的形式返回。
invokePriv(COMMIT_METHOD);LDAP 登录失败。在 API 中对其进行调试时,此行中的状态返回 false

boolean status = ((Boolean)methods[mIndex].invoke
                (moduleStack[i].module, args)).booleanValue();

我对这个问题完全一无所知。因为它是 API 类,所以在调试时我无法看到变量值。
在 LDAP 身份验证期间创建 IntialContext 是否会与 JAAS API 的 LoginContext 混淆。

Note: I know there is a JAASLDAP module available. I will be implementing that in next iteration. 
4

1 回答 1

1

配置的 LoginModule 从其 commit() 方法返回 false。如果它自己的登录方法成功,它应该返回 true。

于 2012-09-05T23:51:51.947 回答