第三章 cas简单数据库认证配置
来源:互联网 发布:国研网数据库免费入口 编辑:程序博客网 时间:2024/05/03 17:29
我们的用户信息大多存放在数据库中,所以我们就需要使用数据库验证我们的帐号密码,本章为你讲解数据库的配置
加入cas-server-support-jdbc-3.5.2.jar(在之前下载的包中可以得到)、mysql-connector-java-5.1.34.jar、commons-pool.jar以及commons-dbcp-1.4.jar(数据源自行选择,这里用dbcp)
在 deployerConfigContext.xml 中添加数据源
<!-- DataSource,根据你的环境来定 --><bean id="mysqlDataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://124.42.125.69:3306/ssodb?useUnicode=true&characterEncoding=utf-8"/><property name="username" value="test"/><property name="password" value="test"/></bean>将下面这一段
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
这个handler是默认的测试handler,验证的帐号密码都为admin
替换为
<!-- 数据库查询认证处理器 --><bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"><property name="dataSource" ref="mysqlDataSource"/><property name="sql"value="select password from user where user_account=?"/><property name="passwordEncoder" ref="myPasswordEncoder"></property></bean><!-- 自己定义的密码转译器,你可以自己定义,也可以用CAS提供的 --><bean id="myPasswordEncoder" class="org.jasig.cas.util.MyPasswordEncoder"/>
注意:org.jasig.cas.util.MyPasswordEncoder这个类对密码什么操作也不做,我们测试用这个,实际使用时根据需求自行加密密码,只需要实现org.jasig.cas.authentication.handlerl.PasswordEncoder 接口即可。
创建org.jasig.cas.util.MyPasswordEncoder
public class MyPasswordEncoder implements PasswordEncoder { @Override public String encode(String s) { return s; }}
<property name="sql" value="select password from user where user_account=?"/>是你的数据表中查询密码的语句,针对多条件查询,以后会讲到,这里先提一下。QueryDatabaseAuthenticationHandler.authenticateUsernamePasswordInternal()会将这个密码与用户提交的经过加密的密码进行比对。
数据库建表语句
<pre name="code" class="sql">DROP ssodb;CREATE DATABASE ssodb;USE ssodb;CREATE TABLE `user` ( `user_id` varchar(40) NOT NULL, `password` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `cellphone` varchar(20) DEFAULT NULL, `user_account` varchar(30) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO ssodb.user( user_id, password, email, cellphone, user_account)VALUES ( '1', '123456' -- password - IN varchar(50), 'cxh5060@163.com' -- email - IN varchar(50), '17000000000' -- cellphone - IN varchar(20), 'cxh5060' -- user_account - IN varchar(30) )现在你可以使用帐号cxh5060,密码123456登录了
到这里数据库的简单配置就完成了
0 0
- 第三章 cas简单数据库认证配置
- CAS服务端-配置数据库查询认证机制
- CAS数据库查询认证(xml配置)
- CAS服务端-配置数据库查询认证机制
- CAS单点登录-配置数据库认证方式
- Apereo CAS 5.0.X 配置数据库认证方式
- CAS之 5.2x版本配置数据库认证-yellowcong
- 基于CAS实现单点登录(SSO):配置CAS服务端的数据库查询认证机制
- 第二章 cas客户端的简单配置
- 配置简单cas客户端
- 简单cas 配置
- 配置cas服务认证的验证方式(sql数据库或ldap)
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- Cas(06)-基于数据库的认证
- Cas(06)-基于数据库的认证
- CAS实现单点登录(数据库认证)
- [学习笔记]C++空指针异常捕获
- 常用正则表达式
- linux vi
- 随便写了一个list
- Java NIO系列教程(六) Selector
- 第三章 cas简单数据库认证配置
- 最简单的linux内核模块
- 【hall定理】一个关于二分图的问题
- Linux中断实现浅析
- 黑马程序员——内部类不能有静态的成员的原因
- 堆排序
- snprintf的使用
- Weblogic12.1.3集群管理手册(集群中的通信机制)
- 肠炎的危害有哪些?