CAS自定义数据加密算法

CAS统一身份认证(四):集成MySQL用户验证 本文主要介绍CAS统一身份认证服务器的JDBC数据库认证功能,并以FreeBSD环境下的MySQL数据库为例实现了CAS 6.6版的数据库用户验证。主要包括CAS的数据库身份认证、MySQL数据库准备、用户验证属性配置文件、配置MySQL数据库支持,最后构建和测试CAS服务。 阅读详情

1.引言

用于CAS系统登录的密码默认提供MD5和SHA加密的算法支持,但有时由于业务需要,以上两种算法都不能提供足够的支持,这时我们就需要自定义加密算法。比如笔者遇到的一个项目,密码的加密方式,是将密码MD5加密后再拼接数据库中一个盐值,这样的需求条件就必须对加密算法进行扩展。

2.解决方案

2.1.准备一个WEB的maven项目

在这里插入图片描述

2.2.拷贝cas的源码

在这里插入图片描述

2.3.配置CAS

把之前配置好的内容移植过来
在这里插入图片描述

2.4.新建一个类,自定义加密处理
package com.bruce.encode;

import org.jasig.cas.authentication.handler.PasswordEncoder;
import sun.misc.BASE64Encoder;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * @BelongsProject: cas-server
 * @BelongsPackage: com.bruce.encode
 * @Author: bruceliu
 * @QQ:1241488705
 * @CreateTime: 2020-04-16 23:40
 * @Description: TODO
 */
public class MyPasswordEncoder implements PasswordEncoder {

    private static String salt = "bruce";

    public String encode(String password) {
        String result = "";
        String newPW = password + salt;
        System.out.println(newPW);
        try {
            //MessageDigest md = MessageDigest.getInstance("MD5");
            //BASE64Encoder base64en = new BASE64Encoder();
            //result = base64en.encode(md.digest(newPW.getBytes()));
            String pass = StringUtil.MD5Encode(newPW);
            result=pass.toLowerCase();
            System.out.println("自定义加密算法..."+result);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
}
2.5.deployerConfigContext中配置自定义的类
<!--数据库认证 -->		  
<bean id="dbAuthHandler"  
  class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"  
  p:dataSource-ref="dataSource"  
  p:sql="select password from tb_user where username=? and status=1 and del=0"  
  p:passwordEncoder-ref="myPasswordEncoder"/>


<bean id="myPasswordEncoder" class="com.bruce.encode.MyPasswordEncoder" />
2.6 启动测试
CAS统一身份认证(二):Overlay配置管理 本文主要介绍CAS 6.6统一认证服务的配置管理策略,举例说明如何使用Overlay的配置管理方法修改默认用户名和密码。 阅读详情

相关推荐

OAuth2.0 与 JWT 深度整合实战:CAS 6.6 配置 JWT 作为访问令牌

本文详细介绍了如何在CAS 6.6认证服务器中配置JWT作为OAuth2.0访问令牌,实现无状态认证与集中式管理的完美结合。通过实战演示JWT令牌的生成、验证及客户端集成方案,帮助开发者构建安全高效的分布式认证体系,特别适合微服务架构下的SSO场景。

weixin_32428571的博客 300

CAS单点登录(第6版)

欢迎学习最新版课程:CAS单点登录(第7版)https://edu.csdn.net/course/detail/40241欢迎学习最新版课程:CAS单点登录(第7版)https://edu.csdn.net/course/detail/40241 

CAS4.0 4.1 服务器端搭建(一)

CAS(Central Authentication Service) 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负

Micytoy的博客 9398

cas6.6关于redis连接问题的一次记录,主要问题 1远程主机强迫关闭了一个现有的连接,主要问题2ERR unknown command `HELLO`

公司要求用cas单点登录,这个cas需要引入redis当做ticket缓存,但是出现连接不上的问题由于用redismanager可视化软件看了是可以连接的,进行了查询是redis配置文件中需要配置参数问题截图如下。然而对于windows版本的redis只有5.0X,因为作者后期摆烂,中间我曾经想通过虚拟机等方法,终归觉得太麻烦,而且也不确定是不是这个问题,就此卡住,只到我找到了这位大佬的这个文章。问题点3启动redis时候指定配置文件。问题1得到解决,进入问题2。然后我的项目完美运行了。

oTianKongLan123的博客 2479

CAS - 自定义登录页面和数据源

配置数据源 1、打开cas\WEB-INF\classes目录的application.properties ①注释掉默认的静态账号密码登录配置 # cas.authn.accept.users=casuser::Mellon ②配置MySQL连接,我这里使用的是MySQL8.0(如果是8.0,需要在部署CAS时打入8.0的Jar包) # 连接的阿里云服务器上的MySQL cas.a...

江南烟雨却痴缠丶 968

CAS单点登录系统数据库支持组件实战指南

本文还有配套的精品资源,点击获取 简介:CAS(Central Authentication Service)是一个广泛应用于Web应用的单点登录(SSO)系统,其中CAS3版本带来了增强的安全性和功能。该组件"cas-server-support-jdbc-3.3.1.rar"特别提供了数据库支持,允许CAS与关系型数据库交互,存储用户认证信息等。本组件包括数据库连接配置...

weixin_28809949的博客 1699

springboot实现CAS的server服务器端的搭建,并实现链接mysql数据库,自定义加密算法

在实现单点登陆的过程中,我踩了很多坑,浏览了许多资料,终于将CAS的服务端搭建完成了,以下是我这两天搭建的心得,以及引用的一些大佬的资料,希望对大家有帮助。 一,下载源码 首先是下载cas源码,git地址是:https://github.com/apereo/cas-overlay-template(此处注意,一定要选择5.3版本的源码。超过 5.3版本的cas取消了pom,导致...

qq_40606397的博客 6298

Ollama运行DeepSeek大模型调优指南:GPU与CPU协同实现性能最大化

Ollama运行DeepSeek大模型调优指南

qq_32358423的博客 3999

cas 5.1.1 mysql_2017.8.22(CAS-5.1.x,配置数据库以及实现自定义加密认证)

1.今日总结今天主要是对CAS配置数据库连接,获取数据库属性。以及如何自定义加密算法进行了相关的调研。( 用于CAS系统登录的密码默认提供MD5和SHA加密的算法支持,但有时由于业务需要,以上两种算法都不能提供足够的支持,这时我们就需要自定义加密算法。)网上对于CAS-5.X的描述较少,大多集中在4.x的XML配置阶段,对5.X的描述只有在官网上比较完整。(官方文档对于好多地方没有讲到,所以只有去...

weixin_33218578的博客 248

Trae+Playwright MCP自动化测试全流程指南:从环境搭建到智能体运行

本文提供了一份详细的Trae与Playwright MCP集成指南,涵盖从Node.js、Python环境搭建到智能体创建的全流程。通过结合MCP协议,AI智能体能够理解任务并驱动Playwright执行复杂的浏览器自动化操作,实现从网页数据抓取到端到端测试的智能工作流。

banana的博客 531

MOS管驱动电路设计全攻略

MOS管驱动电路设计全攻略

让你爱上电路设计 3638

Cas用户密码自定义加密

&lt;bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"&gt;      &lt;property name="dataSource" ref="dataSourceForMySql" &gt;&lt;/property&gt;      &lt;property name="sq

xudasong123的博客 2230

2、实时DSP编程技术及其应用

本文详细介绍了实时数字信号处理(DSP)技术及其应用,涵盖三种流行的浮点DSP处理器系列的特点、开发工具和优化方法。通过具体的应用实例,如语音压缩、音乐信号处理和雷达信号处理,展示了如何在实际项目中应用这些技术,帮助工程师提高系统的性能和可靠性。

cicd6pipeline的博客 840

第一部分:cas服务器端连接mysql配置

因公司要求使用cas服务器,公司原来有一个使用ajax方式进行单点登录的cas服务器,在项目上线后,发现问题太多,改为使用正常方式的cas服务器。客户端项目用到了两种权限管理框架,分别是shiro和spring security。整个过程分四部分记录修改过程,第一部分记录cas服务器连接mysql配置;第二部分记录cas服务器增加登录验证码;第三部分

zh350229319的专栏 9337

Allegro172版本DFM功能介绍

Allegro172版本提供了实时DFM检查的功能,让违反要求的地方实时以DRC的形式报出来,让加工不可加工因素在设计的时候同步避免。打开Constraint,选择Manufacturing, 所有DFM相关DRC都在这。把所有下面DRC开关(DFM,DFA,DFT)都选择on,选择OK。这个规则和物理和间距规则等等都没有关系,单独的一个加工规则。这些DRC大部分是正常的,正常的可以去修改规则来消除。等待DRC刷新,板子上会出现很多DRC,类似下图。下面介绍如何调用和产生DFM规则。一直往下点击next。

weixin_54787054的博客 1341

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

9794

cas security等权限框架的密码加密处理异同

cas security等权限框架的密码加密处理异同       cas服务端加密的处理: (其他的第三方框架加密用法类似比如security登陆)   1,需要自己写一个类实现cas的加密接口PasswordEncoder即可,纳入spring容器管理 2,在需要配置 加密的地方直接引用这个bean即可   登陆的时候输入用户名,密码由于直接调用cas的登陆请求,所以数据直接

yuhui666666的博客 796

免费教你快速学会分析运算放大器电路(保证学会)

本文旨在学习如何快速简单地对运算放大器进行分析

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 1万+

CAS 自定义数据源

# 自定义数据源 在deployConfigContext.xml文件中,找到org.jasig.cas.authentication.AcceptUsersAuthenticationHandler, 首先去掉默认的用户配置,添加上自定义的dataSource,并配置查询密码的sql,及自定义的加密类passwordEncoder,配置完成如下所示: <bean id="

Sucre 1370

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SpringBoot 集成cas5.3 使用JDBC认证并实现自定义加密算法

今天我们讲解一下CAS的认证方式,有JDBC认证、白名单(Whitelist)认证、黑名单(Blacklist)认证、Shiro认证、Rest认证。 目前只针对JDBC认证讲解,更多抽时间更新。 1、JDBC认证 在前面我们设计了一个user表,表的字段为: 字段名 字段类型 备注 id bigint ID username varchar 用户名 password varchar 用户密码 expired bigint 过期字段,1为过期,需修改密码 disabled bi

Tongyao 1416

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

cas单点登录 java_CAS单点登录(三)——多种认证方式

今天我们讲解一下CAS的多种认证方式,在上一篇文章中我们讲解了CAS基础服务的搭建,完成了CAS认证服务中心的简单部署,如果忘记了话,可以先去复习一下——CAS单点登录(二)——搭建基础服务。CAS认证方式有多种,我们可以根据自己的需求来实现。在前一篇文章中搭建服务中我们其实就把CAS的JDBC认证方式讲解了,在读取用户名我们可以指定为从数据库的表中读取数据。我们还是接着上次的代码进行讲解,你可以...

weixin_30480859的博客 1253

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

cas mysql_Cas 数据源之Mysql

Cas 默认使用简单用户密码认证,当用户密码一致时则认证通过。配置文件:/cas/WEB-INF/deployerConfigContext.xml默认配置如下:下面为Cas使用Mysql作为数据源的例子。数据准备创建表,其中: type 可以为 用户名、邮箱、手机,这样就可以支持多种方式登录create table cas_user_credential (user_id varchar(120...

weixin_42515392的博客 241

【python】爬取带CAS教务处信息

起因 一切的一切都要从一个安卓程序说起,我心血来潮想要做一个“易用”的移动端教务处,设计好了实体类,界面等等,突然发现!我没法直接在安卓里爬取出教务处的数据。内心一万只草泥马狂奔而过。 看到对于安卓,我实在没实力在java层面爬取出数据,于是我开始转战python,谁知道这才一个大坑的开始。 知识 1、CAS CAS是Central Authentication Service的缩写,中央认证服...

qq_43489936的博客 1764

CAS单点登录(三)----多种认证方式

CAS单点登录(三)----多种认证方式 常用单向加密算法: MD5,SHA,HMAC。 加密类型:NONE | DEFAULT | STANDARD | BCRYPT | SCRYPT | PBKDF2 数据库前面的配置不变 #默认加密策略,通过encodingAlgorithm来指定算法,默认NONE不加密 # NONE|DEFAULT|STANDARD|BCRYPT|SCRYPT|PBKDF2 cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT #

weixin_43392662的博客 983

CAS单点登录【1】-理论(cas架构、https、SSL、TLS、非对称加密、证书、CA、握手)、OpenSSL、cas(认证、指定加密策略)

sso(Single Sign On) 单点登录 cas(Central Authentication Service) 中央认证服务 cas 默认在 https 下 HTTPS:HTTP + SSL HTTP (HyperText Transfer Protocol) 超文本传输协议 SSL(Secure Sockets Layer) 安全接口层 ...

LawssssCat的博客 2305
上一篇: Docker部署Nginx
下一篇: Cas整合Shiro
熊猫IT技术
熊猫IT技术 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄10年 6021粉丝 1312原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫IT技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值