配置cas服务认证的验证方式(sql数据库或ldap)

配置cas服务认证的验证方式(sql数据库或ldap)

一.配置sql认证

         关于使用传统的关系型数据库做为验证用户和口令的数据源,在上一篇博文:中有提到过,关于关系型数据库的配置这里也再简单的重复下。具体的可以参考上一篇博文:周记(搭建cas验证服务)

         1.导入cas数据库支持jar和数据库驱动jar。复制D:\cas-server-3.5.2.1\modules下面cas-server-support-jdbc-3.5.2.1.jar到D:\apache-tomcat-7.0.52\webapps\cas\WEB-INF\lib下。数据库这里使用的是Mysql,因此把Mysql数据库驱动包(mysql-connector-java-5.1.26-bin.jar)也复制到\cas\WEB-INF\lib文件夹下。

         2.配置数据连接信息。打开D:\apache-tomcat-7.0.52\webapps\cas\WEB-INF\deployerConfigContext.xml文件,在<beanid="authenticationManager"节点上面添加数据源信息:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>supre2015</value>
		</property>
	</bean>	

3.配置验证规则。还是在上述的cas\WEB-INF\deployerConfigContext.xml文件内,找到<bean                   class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>,先注释掉该句配置,在该句平行位置下添加如下配置

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
	<property name="dataSource" ref="dataSource"></property>
	<property name="sql" value="select password from tb_user where  user_name=?"></property>
	<!--	密码自定义加密配置
	<property name="passwordEncoder" ref="myPasswordEncoder" ></property>				-->
</bean>

说明:a. name="dataSourec" 中的ref为上面我们配置数据库连接信息(<bean id="dataSource")

b.name="sql" 为验证查询语句,后面value中的查询语句,根据具体数据库中的数据表和结构而定

c.name="passwordEncoder"项在后面对密码加密处理中要使用,这里未使用,先注释掉

4.重启Tomcat,访问http://localhost:8080/cas,根据连接数据库中的数据,进行测试。

二.配置ldap认证

         ldap百科:LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

         关于ldap大家可以自行去深入了解和学习,这里主要是介绍下cas服务配置ladp来进行验证的步骤。

1.导入cas服务认证的ldap支持jar和spring连接ldapjar(spring-ldap,cas-server-support-ldap

),  复制D:\cas-server-3.5.2.1\modules下面cas-server-support-ldap-3.5.2.1.jar到D:\apache-tomcat-7.0.52\webapps\cas\WEB-INF\lib下。这里使用的spring-ldap是spring-ldap-1.3.1.RELEASE-all.jar版本,该jar可以去spring官网下载,或通过maven添加,把该jar也复制到\cas\WEB-INF\lib文件夹下。如果有需要jar的,可以去下载博文中的demo,demo地址将在后面补上。

2.配置ldap的连接信息。打开D:\apache-tomcat-7.0.52\webapps\cas\WEB-INF\deployerConfigContext.xml文件,在<beanid="authenticationManager"节点上面添加数据源信息:

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
          <property name="pooled" value="false"/>
          <property name="url" value="ldap://192.168.1.102:389" />
          <property name="userDn" value="cn=admin"/>
          <property name="password" value="centos"/><!--  自己openldap的密码 -->
          <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>	

说明:url为该ldap服务的地址

userDn为该ldap服务的管理员用户名

password为对应管理员的密码

这三项为主要配置信息,下面map中是对连接参数的一些配置

3.配置验证规则。还是在上述的cas\WEB-INF\deployerConfigContext.xml文件内,找到<bean         class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>,先注释掉该句配置,在该句平行位置下添加如下配置

<bean class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler">
<property name="filter" value="uid=%u,ou=People,dc=supresoft,dc=com" />
<property name="contextSource" ref="contextSource" />
 </bean>

说明:其中contextSource中的ref为上面配置的链接信息bean的id

filter中配置验证的ldap查询语句

4.重启Tomcat,访问http://localhost:8080/cas,根据连接数据库中的数据,进行测试。

demo地址:后期补上或参考同系列博文




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值