zoukankan      html  css  js  c++  java
  • 轻松搭建CAS 5.x系列(3)连接数据库,使用数据库表中的帐号做登录

    概要说明


     前面的CAS SEVER中的登录帐号名是配置中写死的,实际情况中不太可能用这些方法。通常情况下,数据库的帐号名密码都是在数据库表中的,这样可以对登录帐号进行增删改的处理。 如果您对搭建固定帐号的CAS SERVER还不了解的话,可以查看上一章节《轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端 本文就是来解决这个问题的。

    操作步骤


    可以看到上一张中登录的画面中,还是有一条错误提示 

    OK,看到错误了,那我们继续。

    ·1. 我们此次使用的是Mysql数据库,先到数据库中创建表和帐号数据

    --创建数据库表空间
    CREATE DATABASE test_cas DEFAULT CHARSET utf8 COLLATE utf8_general_ci;  
    USE test_cas;  
    --创建帐号信息表
    DROP TABLE IF EXISTS `cas_user_base`;  
    CREATE TABLE `cas_user_base` (  
      `id` INT(11) NOT NULL AUTO_INCREMENT,  
      `user_name` VARCHAR(45) DEFAULT NULL,  
      `user_psd` VARCHAR(45) DEFAULT NULL,  
      PRIMARY KEY (`id`)  
    );  
    --插入登录帐号数据
    INSERT INTO `cas_user_base` VALUES (1,'admin','123456'),(2,'guest','123456');

    ·2. cas overlay添加数据库的JDBC插件,在pom.xml增加如下配置

    <!-- Database Authentication Begin -->
    <dependency>
        <groupId>org.apereo.cas</groupId>
        <artifactId>cas-server-support-jdbc</artifactId>
        <version>${cas.version}</version>
    </dependency>
    <dependency>
       <groupId>org.apereo.cas</groupId>
       <artifactId>cas-server-support-jdbc-drivers</artifactId>
       <version>${cas.version}</version>
    </dependency>
    <!-- Database Authentication End -->

    ·3. cas overlay增加数据库连接配置

    创建目录 D:\casoverlay\cas-overlay-template\src\main\resources,

    并新增文件application.properties,

    具体文件内容如下

    cas.authn.jdbc.query[0].sql=SELECT * FROM cas_user_base WHERE user_name=?
    cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/test_cas?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=UTC
    cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
    cas.authn.jdbc.query[0].user=root
    # 此次是数据库密码
    cas.authn.jdbc.query[0].password=
    cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
    cas.authn.jdbc.query[0].fieldPassword=user_psd

    -4. cas overlay重新打包

    打包命令如下

    mvn package

    第一次数据会比较慢,overlay需要下载jdbc的插件,mysql的驱动也会自动下载。

    打包后,会生成目录 D:\casoverlay\cas-overlay-template\target\cas

    -5. 检查下打包是否成功,检查两点:

    •  检查D:\casoverlay\cas-overlay-template\target\cas\WEB-INF\classes目录下application.properties是否就是我们刚才写的文件
    •  检查D:\casoverlay\cas-overlay-template\target\cas\WEB-INF\lib目录下是否有cas-server-support-jdbc-5.1.9.jar和mysql-connector-java-6.0.5.jar(如果版本号不一样也是属于正常的)

    -6. OK,吧打包的cas目录复制到tomcat的webapps目录中

    把D:\casoverlay\cas-overlay-template\target\cas下的cas目录复制到D:\casoverlay\apache-tomcat-8.5.31\webapps

    -7. 启动tomcat

    双击文件D:\casoverlay\apache-tomcat-8.5.31\bin\startup.bat

    打开浏览器

    输入https://cas.example.org:8443/cas/login

    你会发现登录画面上中的最后一个登录错误提示也消失了

    输入帐号名admin,密码是123456

    看到登录成功画面,大功告成。

    参考文档


    1. CAS中文文档站点#基于数据库的身份认证
    2. CAS中文文档站点#CAS配置属性说明

    最后,大家想更多CAS了解的话,可以来CAS中文文档站点(http://www.cassso-china.cn)来瞅瞅

  • 相关阅读:
    十二、curator recipes之双重屏障DoubleBarrier
    十一、curator recipes之联锁InterProcessMultiLock
    十、curator recipes之信号量InterProcessSemaphoreV2
    九、curator recipes之不可重入锁InterProcessSemaphoreMutex
    八、curator recipes之选举主节点LeaderSelector
    五、curator recipes之选举主节点Leader Latch
    ADO.net 数据库连接new SqlConnection、Open、Close、Dispose
    Java学习笔记【八、数据结构】
    Java学习笔记【七、时间、日期、数字】
    Java学习笔记【六、正则表达式】
  • 原文地址:https://www.cnblogs.com/jpeanut/p/9231201.html
Copyright © 2011-2022 走看看