CAS服务端-配置数据库查询认证机制

目录:

  • 概述
  • 演示环境
  • 演示步骤

[一]、概述

继前面介绍过 SSO之CAS单点登录实例演示(http://www.micmiu.com/enterprise-app/sso/sso-cas-sample/),演示过程中服务端认证机制采用的是测试环境的默认配置,本文将重点演示如何通过查询数据库,对用户名和密码进行相关的认证配置。

[二]、演示环境

[三]、演示步骤

1.创建演示的用户数据
在mysql数据库中创建Database,以 test 为例,然后再创建用户表:sso_t_user,详细SQL如下:

向表sso_t_user 中插入如下数据:

Tips:

  • 密码以MD5 加密后存放数据库中为例
  • 111111”的MD5值为:“96e79218965eb72c92a549dd5a330112

2.修改cas服务端配置
在%tomcat_cas%/webapps/cas/WEB_INF/deployerConfigContext.xml 找到如下信息:

修改成如下:

同时增加datasource和加密处理两个bean的定义:

修改后的配置信息如下:

3.添加相关的jar包

需要在web项目的lib下添加两个包:cas-server-support-jdbc-x.x.x.jar 和 mysql-connector-java-x.x.x-bin.jar (具体版本号根据情况而定)

4.测试认证过程

分别启动已经配置好的三个tomcat分别为:tomcat-cas、tomcat-app1、tomcat-app2.

此时在cas-server认证界面输入:admin/111111 ,需要和数据库中查询到的密码验证匹配后才能登陆系统。

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/enterprise-app/sso/cas-server-auth-db/

发表评论?

7 条评论。

  1. 如果使用了hibernate,这个地方的bean也是这么配置么

  2. 启动服务端tomcat报错:NoSuchBeanDefinitionException: No bean named ‘dataSource’ is defined,请问这个如何解决呢?

  3. 孙吴空的爸爸
    ,很好的案例,谢谢分享

  4. 假如a_user中有一个用户:auser,b_user中有一个用户buser,这样你无论用哪一个用户登录,CAS就会先查a_user,
    如果用户名密码都正确,那么就通过,如果a_user中验证失败,那么CAS就会再查b_user,用户名密码都正确就算通过了,此时不正确,就算这次登录验证没通过。
    但是本身auser用户是a_user系统中的呀,照这样在只要用户名和密码正确,也可以登录buser系统啦?

回复给 jayChen ¬
取消回复


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">