CAS4.0+LDAP 配置说明

本贴最后更新于 2765 天前,其中的信息可能已经时移世异

前置说明

CAS 的配置见前文, 单点登录--CAS 简单搭建, cas4.0 搭建好之后,默认试用已经写死的用户名登录,即 casuser/Mellon,下方将讲述 cas4.0 和 ldap 的整合

添加相关 jar

<dependency>
	<groupId>org.springframework.ldap</groupId>
	<artifactId>spring-ldap-core</artifactId>
	<version>2.3.1.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.jasig.cas</groupId>
	<artifactId>cas-server-support-ldap</artifactId>
	<version>4.0.0</version>
</dependency>

注意:cas-server-support-ldap4.0.0 中默认带的 ldaptive.jar 的版本号为 1.0.3
此版本有 bug,最好换成 1.0.5,修改方式
直接修改 maven 库目录 repository\org\jasig\cas\cas-server\4.0.0\cas-server-4.0.0.pom

<ldaptive.version>1.0.5</ldaptive.version>

修改默认的认证方式

<!-- <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver"/> -->
<entry key-ref="ldapAuthHandler" value-ref="primaryPrincipalResolver" />

<bean id="ldapAuthHandler" class="org.jasig.cas.authentication.LdapAuthenticationHandler"
		p:principalIdAttribute="cn" c:authenticator-ref="authenticator">
	<property name="principalAttributeMap">
		<map>
			<entry key="member" value="member" />
			<entry key="mail" value="mail" />
			<entry key="cn" value="cn" />
		</map>
	</property>
	<property name="allowMultiplePrincipalAttributeValues" value="true"></property>
</bean>

修改默认的 formatResover 为 SearchDnResolver,已适应多 ou 登录

<bean id="authenticator" class="org.ldaptive.auth.Authenticator"
		c:resolver-ref="multiDnResolver" c:handler-ref="authHandler" />


<!--<bean id="adDnResolver" class="org.ldaptive.auth.FormatDnResolver"
	 c:format="cn=%s,ou=wuhan,dc=infozr,dc=com" /> -->

<bean id="multiDnResolver" class="org.ldaptive.auth.SearchDnResolver"
		p:baseDn="dc=infozr,dc=com"
		p:subtreeSearch="true"
		p:allowMultipleDns="false"
		p:connectionFactory-ref="connectionFactory"
		p:userFilter="(cn={user})" />

完整的配置文件

  • CAS
    13 引用 • 21 回帖
  • LDAP
    5 引用 • 2 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...