博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CAS 服务端数据库认证
阅读量:6855 次
发布时间:2019-06-26

本文共 1498 字,大约阅读时间需要 4 分钟。

CAS-服务端数据库认证

数据认证需要相关的jar包:

cas-server-support-jdbc-x.x.x.jar
MySQL-connector-Java-x.x.x-bin.jar

修改CAS Server的配置

通过数据库查询来验证用户名密码  修改cas server的配置  在tomcat_cas/webapps/cas/WEB_INF/deployerConfigContext.xml找到如下信息
deployerConfigContext.xml将如下信息    
替换为
com.MySQL.jdbc.Driver
jdbc:mysql://localhost:3306/smtp
root
.,mlkjoiu987
如果你用了普通的加密,那么请加入一下标签
##使用SHA1加密
至于参数值(Encoder采用的加密方式) MessageDigest messageDigest=MessageDigest.getInstance(this.encodingAlgorithm) 如果密码加密特别复杂,例如 SHA256(MD5(password)) 我们可以写一个实现类,实现org.jasig.cas.authentication.handler.PasswordEncoder接口

注意

1) 密码加密过程,如果不用,注释掉即可    2) QueryDatabaseAuthenticationHandler是cas-server-support-jdbc提供的查询接口,其中一个是通过配置一个SQL语句来查出密码,与所给密码匹配    3) sql语句就是查询哪一张表,本例根据t_user表的login-name字段查询密码,CAS会匹配用户用户输入的密码,如果匹配则通过。    4) passwordEncoder这个是处理密码的加密,如果想要你的应用中数据库保存的是加密过的,比如本例是使用MD5加密的。所以配置了MD5PasswordEncoder这个Handler,cas内置了MD5的功能所以只需要配置一下就可以了。如果在实际应用中使用的是公司自己的加密算法,那么就需要自己写一个handler来处理密码。实现方式也比较简单,创建一个类继承org.jasig.cas.authentication.handler.PasswordEncoder然后在encode方法中加密用户输入的密码然后返回即可。

转载于:https://www.cnblogs.com/ssgao/p/8817029.html

你可能感兴趣的文章
[掘金专题] Google I/O 2017 已经结束,我们该如何评价?
查看>>
深入剖析Vue源码 - 选项合并(下)
查看>>
vue父、子、孙组件间数据传递、事件传递
查看>>
React 源码解析之总览
查看>>
Gulp
查看>>
Java比特币开发教程: 创建比特币钱包
查看>>
如何阅读jdk源码?
查看>>
删除文件,du观察空间已经删除,但df观察空间仍被占用的解决方法
查看>>
slf4j+log4j2配置注意事项
查看>>
eclipse从数据库逆向生成Hibernate实体类
查看>>
SiteMesh
查看>>
python 操作xls
查看>>
PhpStorm 连接mysql 方法
查看>>
数据库操作SQL语句大全
查看>>
Spring Config Server
查看>>
使用Freemarker生成Word
查看>>
目标规划---解目标规划的单纯形法
查看>>
三星note手机上html5画面模糊解决方案
查看>>
nginx无缝升级
查看>>
centos7 安卓mysql服务 :允许远程登录,修改密码,查看并修改编码
查看>>