• Cas 服务器 JDBC身份校验


    之前的Cas服务器一直使用静态配置的账号密码进行身份认证,现在要让Cas服务器通过MySQL数据库中的用户信息进行身份认证。

    一、添加数据库访问依赖

     <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->

    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.12</version>
    </dependency>
    <!--jdbc认证需要添加cas的依赖包,其他数据源请按类型更换-->
    <dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc</artifactId>
    <version>${cas.version}</version>
    </dependency>

    二、创建数据库表并添加数据

    注:数据采用最简、密码明文,要进行加密的话也很简单,文章中不做说明。

    三、配置Cas服务器进行数据查询

    # 查询账号密码sql,必须包含密码字段
    cas.authn.jdbc.query[0].sql=select * from user where userName=?
    cas.authn.jdbc.query[0].fieldPassword=password
    #cas.authn.jdbc.query[0].fieldExpired=expired 无过期
    #cas.authn.jdbc.query[0].fieldDisabled=disabled 无禁用
    cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
    cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
    cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/shriodb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    cas.authn.jdbc.query[0].user=root
    cas.authn.jdbc.query[0].password=123456

    #加密策略,默认NONE不加密
    cas.authn.jdbc.query[0].passwordEncoder.type=NONE

    四、运行测试

  • 相关阅读:
    2018年全国多校算法寒假训练营练习比赛(第四场)
    STL中的map
    java异常处理
    过滤器与监听器原理详解
    cookie和session机制区别
    servlet运行原理
    $.ajax相关用法
    jdk源码库
    Tomcat 系统架构与设计模式,第 1 部分: 工作原理
    Tomcat源码分析(二)------ 一次完整请求的里里外外
  • 原文地址:https://www.cnblogs.com/dw039/p/9869795.html
Copyright © 2020-2023  润新知