配置cas服务认证的验证方式(sql数据库或ldap)
2016-03-14 18:04
387 查看
配置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"节点上面添加数据源信息:
3.配置验证规则。还是在上述的cas\WEB-INF\deployerConfigContext.xml文件内,找到<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>,先注释掉该句配置,在该句平行位置下添加如下配置
说明: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"节点上面添加数据源信息:
说明:url为该ldap服务的地址
userDn为该ldap服务的管理员用户名
password为对应管理员的密码
这三项为主要配置信息,下面map中是对连接参数的一些配置
3.配置验证规则。还是在上述的cas\WEB-INF\deployerConfigContext.xml文件内,找到<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>,先注释掉该句配置,在该句平行位置下添加如下配置
说明:其中contextSource中的ref为上面配置的链接信息bean的id
filter中配置验证的ldap查询语句
4.重启Tomcat,访问http://localhost:8080/cas,根据连接数据库中的数据,进行测试。
demo地址:后期补上或参考同系列博文
一.配置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地址:后期补上或参考同系列博文
相关文章推荐
- MyEclipse关联Oracle数据库
- Mysql性能测试诊断
- oracle——SQL复习02
- SQL优化-基于数据访问路径的CBO成本计算模型
- 工作记录:oracle数据库移机中关于redolog出错的处理
- MyBatis+MySQL 返回插入的主键ID
- 源码安装 mysql 5.5.20升级到mysql 5.6.25
- Redis分布式锁Java实现
- 升级mysql_upgrade 提示错误FATAL ERROR: Upgrade failed的原因
- 转载:SQL Server 2008-建立分区表(Table Partition) 转载
- java(优化11) 15天玩转redis之第五篇
- redis主从服务器搭建
- 夺命雷公狗---微信开发62----所以memcache对access_token进行全局缓存优化
- SQL SERVER几种数据迁移/导出导入的实践
- 简单java连接oracle,Statement,PreparedStatement,CallableStatement操作
- SharePoint "System.Data.SqlClient.SqlException (0x80131904): Parameter '@someColumn' was supplied multiple times.“
- redis定制开发
- MySQL数据库导出数据
- mysql中的隐式转换
- 01.SQLServer性能优化之----强大的文件组----分盘存储