LDAP:如何使用sAMAccountName验证用户? - java

当用户传递sAMAccountNamepassword时,我无法进行身份验证。

如果我这样做:

env.put(Context.SECURITY_PRINCIPAL, "CN="+username+",OU=Service Accounts,OU=TECH,DC=wawalab2,DC=ins");
env.put(Context.SECURITY_CREDENTIALS, password);

它引发异常:

javax.naming.AuthenticationException:[LDAP:错误代码49-80090308:LdapErr:DSID-0C090334,注释:AcceptSecurityContext错误,数据525,vece

Note: I can use Spring LDAP framework too.

参考方案

首先,525错误是错误的DN。您可以在以下链接中看到AD返回的LDAP错误列表:AD LDAP Error codes

因此您的DN错误。您要做的是搜索samAccountName = username,从返回的值中获取DN,然后绑定该正确的DN。

Java:以最少的用户信息查询Active Directory信息 - java

所以,这是情况。我们希望能够在活动目录中查询用户的角色/组成员身份等。现在,我已经可以使用标准Java API(javax.naming)来执行此操作,但是我需要用户名,域服务器名称/地址,和密码来做到这一点。用户也具有有限的权限,因此我无法使用任何外部调用来访问精美的管理工具。在Java中,是否有一种方法可以仅使用用户名和域服务器名称/地址来获取该信息?我…

Spring MVC中的输入验证 - java

我知道Commons Validator框架是Struts项目在服务器端和客户端验证输入值的事实上的标准。Spring MVC项目是否也是如此?我得到的印象可能不是,大多数Struts书籍和论坛都谈论Commons Validator框架,但是只有少数Spring书籍和论坛可以。在Spring MVC项目中验证输入的最佳实践是什么?干杯! 参考方案 在引入S…

Java:“自动装配”继承与依赖注入 - java

Improve this question 我通常以常见的简单形式使用Spring框架: 控制器服务存储库通常,我会在CommonService类中放一个通用服务,并使所有其他服务扩展到类中。一个开发人员告诉我,最好在每个服务中插入CommonClass而不是使用继承。我的问题是,有一个方法比另一个更好吗? JVM或性能是否会受到另一个影响?更新资料Comm…

来自JAVA中LDAP中所有用户 - java

我想从LDAP获取所有活动用户。 LDAP有1k个用户(afaik,您只能在一个请求中从Ldap接收1k个用户)。使用C#时,我使用了以下方法://Open connection to LDAP Server using (var directoryEntry = new DirectoryEntry("LDAP"************…

Spring MVC Web应用程序检测暴力攻击的最佳方法? - java

Spring 3.0 MVC中是否有专门用于帮助检测Web应用程序的身份验证/登录页面上的蛮力攻击的功能? 参考方案 经过长期验证的实践是,如果身份验证失败,则会引入随机但相当大的延迟。这样,合法用户将立即登录,但攻击者每次尝试将花费500ms-1s,这使整个暴力概念不切实际(将永远存在)。合法用户偶尔失败的登录只会使他们稍有延迟,并且不会引起注意。如果需要…