2012-09-05 155 views
0

对于新客户端,我必须用LDAP替换应用程序的JAAS身份验证。
流程进入javax.security.auth.login.LoginContext类的登录()。这有两个步骤来验证在LoginContext类中提交身份验证时LDAP身份验证不起作用

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

invokePriv(LOGIN_METHOD);去JAAS登录类或LDAP登录类,然后回来为loginSucceeded =真。
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. 

回答

1

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