在Spring下使用Acegi通过LDAP验证

参见 http://www.ibm.com/developerworks/cn/java/j-acegi2/

这里的Acegi主要是指:acegi-security-1.0.3

在这篇文章中,说到ApacheDS,这是一个开源的LDAP服务器,要特别注意它的端口不是389是10389 因为LDAP里面的密码是加密的,注意要加上这一句:

<bean id="passwordEncoder" class="org.acegisecurity.providers.ldap.authenticator.LdapShaPasswordEncoder"/>

如果是使用microsoft的AD,它不是使用标准的LDAP,自己上上了一些东西,所以跟文章所提到有差别,

连接代码如下: <bean id="passwordEncoder" class="org.acegisecurity.providers.ldap.authenticator.LdapShaPasswordEncoder"/>  

<bean id="initialDirContextFactory" class="org.acegisecurity.ldap.DefaultInitialDirContextFactory"> <constructor-arg value="ldap://192.168.2.12:389/DC=huzai,DC=com,DC=cn" /> <property name="managerDn" value="CN=vm01,ou=huzai,dc=huzai,dc=com,dc=cn" /> <property name="managerPassword" value="******/> <property name="extraEnvVars">   <map>   <entry key="java.naming.referral" value="follow" />  </map> </property></bean> 

<bean id="userSearch" class="org.acegisecurity.ldap.search.FilterBasedLdapUserSearch"> <constructor-arg index="0" value="OU=huzai" /> <constructor-arg index="1" value="(&amp;(objectClass=user)(sAMAccountName={0}))" /> <constructor-arg index="2" ref="initialDirContextFactory" /> <property name="searchSubtree" value="true" /></bean> 

<bean id="ldapAuthenticationProvider" class="org.acegisecurity.providers.ldap.LdapAuthenticationProvider"> <constructor-arg>  

<bean class="org.acegisecurity.providers.ldap.authenticator.BindAuthenticator">   <constructor-arg ref="initialDirContextFactory" />   <property name="userSearch" ref="userSearch" />  </bean> </constructor-arg> <constructor-arg>  <bean   class="org.acegisecurity.providers.ldap.populator.DefaultLdapAuthoritiesPopulator">   <constructor-arg index="0" ref="initialDirContextFactory" />   <constructor-arg index="1" value="OU=huzai" />   <property name="convertToUpperCase" value="true" />   <property name="searchSubtree" value="true" />   <property name="groupSearchFilter" value="(&amp;(objectClass=group)(member={0}))" />   <property name="groupRoleAttribute" value="CN" />  </bean> </constructor-arg></bean>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值