ldap的實現單點登陸

cas+ldap  鏈接多哥ldap時大多數引用的都是這個類,可是我中cas -server -supper-ldap3以上的jar中都找不到此類,迷惑了好久因而我找了源碼配置文件發現根本不是引用這個類,下面介紹一下cas+ldap鏈接的兩種方式
方式一: 鏈接單個ldap
[code=html]
在cas的deployerConfigContext.xml這個文件中找到<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />註釋掉添加下面的bean
<bean class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler">
<property name="filter" value="uid=%u,ou=People,o=tcl,c=cn" />
<property name="contextSource" ref="contextSource" />
</bean>
在根節點中添加
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="pooled" value="false"/>
<property name="url" value="ldap://192.168.0.114:389" />
<property name="userDn" value="cn=Manager,o=tcl,c=cn"/>
<property name="password" value="secret"/>
<property name="baseEnvironmentProperties">
<map>
<entry key="com.sun.jndi.ldap.connect.timeout" value="3000" />
<entry key="com.sun.jndi.ldap.read.timeout" value="3000" />
<entry key="java.naming.security.authentication" value="simple" />
</map>
</property>
</bean>
[/code]
方式二: 可鏈接多ldap
[code=html]
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="filter" value="uid=%u" />
<property name="searchBase" value="ou=People,o=tcl,c=cn" /> 
<property name="contextSource" ref="contextSource" />
</bean>
根節點添加
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">  
<property name="anonymousReadOnly" value="false" />
<property name="password" value="secret" />
<property name="pooled" value="true" />
<property name="urls">
<list>
<value>ldap://192.168.0.114:389/</value>
</list>
</property>
<property name="userDn" value="cn=Manager,o=tcl,c=cn" />
<property name="baseEnvironmentProperties">
<map>
<!--<entry>
<key><value>java.naming.security.protocol</value></key>
<value>ssl</value>
</entry>-->
<entry>
<key><value>java.naming.security.authentication</value></key>
<value>simple</value>
</entry>
</map>
</property>
</bean>
[/code]html

相關文章
相關標籤/搜索