CAS配置数据库进行用户验证

这里基于mysql数据库进行用户验证


添加依赖

拷贝cas-server-support-jdbc-x.x.x.jar和mysql驱动包到cas\WEB-INF\lib目录下


创建数据库、表

表结构如下

create table cas_user (
    id bigint not null auto_increment,
    email varchar(255),
    username varchar(255) not null unique,
    name varchar(255),
    password varchar(255),
    primary key (id)
) ENGINE=InnoDB;


配置QueryDatabaseAuthenticationHandler

打开cas\WEB-INF\deployerConfigContext.xml

注释掉:SimpleTestUsernamePasswordAuthenticationHandler这个验证Handler

添加如下配置

<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
    <property name="dataSource" ref="dataSource"></property>
    <property name="sql" value="select password from cas_user where username=?"></property>
    <property name="passwordEncoder" ref="md5PasswordEncoder"></property>
</bean>
  • QueryDatabaseAuthenticationHandler,是cas-server-support-jdbc提供的查询接口其中一个
  • dataSource

<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/cas</value></property>
	   <property name="username"><value>root</value></property>
	   <property name="password"><value></value></property>
	</bean>
  • md5PasswordEncoder,CAS内置了MD5

     可创建一个类实现org.jasig.cas.authentication.handler.PasswordEncoder,然后在encode方法中加密用户输入的密码然后返回即可

<bean id="md5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
	    <constructor-arg index="0">
	        <value>MD5</value>
	    </constructor-arg>
	</bean>


浏览器访问cas服务,输入test/test登录成功

转载于:https://my.oschina.net/xiaokaceng/blog/181946

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值