我正在Java Spring框架中编写一个应用程序来执行Active Directory LDAP身份验证。 我成功连接到我的组织LDAP。
以下是配置设置:Spring-security.xml
<!-- This is where we configure Spring-Security -->
<security:http auto-config="true" use-expressions="true"
access-denied-page="/oops">
<security:intercept-url pattern="/auth/*"
access="isAuthenticated()" />
<security:logout invalidate-session="true"
logout-success-url="/" logout-url="/logout" />
</security:http>
<security:authentication-manager>
<security:ldap-authentication-provider
user-search-filter="(&(sAMAccountname={0})(objectCategory=user))"
user-search-base="DC=am, DC=example, DC=com" group-search-filter="(&(sAMAccountname={0})(objectCategory=group))"
group-search-base="DC=am, DC=example, DC=com">
</security:ldap-authentication-provider>
</security:authentication-manager>
<security:ldap-server url="ldaps://myserver.am.example.com:4567"
manager-dn="CN=Johnson \, Mitchell, OU=San Francisco,DC=am,DC=example,DC=com"
manager-password="sdvsdvsvs" />
我的问题是,有没有办法验证LDAP而不在安全性中提供manager-dn和manager-password:ldap-server标签。 请提供解决方案。谢谢。
答案 0 :(得分:1)
定义具有必要权限的管理用户,并使用该权限。您当然不应该使用managerDN来处理应用程序中的任何内容。