【发布时间】:2011-08-12 07:01:17
【问题描述】:
我尝试使用 LDAP 身份验证。
public boolean login(String username, String password){
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass", "person")).and(new EqualsFilter("uid", username));
return ldapTemplate.authenticate(DistinguishedName.EMPTY_PATH, filter.toString(), password);
}
因为我用的是ActiveDirectory服务器,所以有这个异常:
javax.naming.NamingException:[LDAP:错误代码 1 - 000020D6:SvcErr:DSID-03100754,问题 5012 (DIR_ERROR),数据 0];重命名 = '/'
在我看来,出现了这个异常,因为我使用了DistinguishedName.EMPTY_PATH。
我该如何解决这个问题?
【问题讨论】:
-
我尝试使用 ldapTemplate.authenticate(ctxt.getNameInNamespace(), filter.toString(), password);和其他变体,但我的问题没有解决......
-
活动目录中没有
uid,只有sAMAccountName。
标签: java active-directory ldap