cas5.3统一登录前后端分离改造方案(源码)

ops/2024/10/18 0:23:20/

cas53_0">cas5.3

cas53__1">为什么选择cas5.3 版本

5.3 版本是最新的支持jdk8 的版本,并且项目架构基于maven ,商业项目中jdk8 仍是主流,在考虑商业收益的情况下,如果客户不要求,不会升级jdk, 基于Maven的项目比gradle 简单,易于掌握。

所以在选择cas版本的时候综合考虑历史情况,和技术现状,选择了5.3.16版本。

为什么要前后端分离

目前主流的系统都是前后端分离,前端可以自由制作页面,不依赖cas的代码,个性化交互。
cas本身设计思想是前后端不分离,依靠cookie 传递登录状态,登录信息。

为什么不用原生的前后端分离

cas自身支持前后端分离,但是返回的数据格式不能自定义,需要前端判断兼容,不够优雅,并且一些账户不存在,密码错误,或者权限信息无法传递给前端,所以需要自己改造cas,自己实现前后端分离

代码改造点

Maven 配置

返回对象修改

增加验证码

短信验证

配置Redis

分布式部署(系统鲁棒性)

怎么获取源码

知识无价,程序有价,本方案历时一个月形成,期间遇到多个坑,如有同行。

如有需要,私信咨询。


http://www.ppmy.cn/ops/119205.html

相关文章

[Redis][C++客户端]详细讲解

目录 0.RESP1.前置依赖 -- hiredis2.安装 redis-plus-plus3.示例:通用命令1.Quick Start2.Get && Set3.Exists4.Keys5.Expire && TTL6.Type 4.示例:String1.Set with expire2.Set NX / XX3.Mset4.Mget5.Getrange && Setrange 5.…

JS网页设计案例

下面是一个简单的 JavaScript 网页设计案例&#xff0c;展示了如何使用 HTML、CSS 和 JavaScript 创建一个动态的网页。 案例&#xff1a;简单的待办事项列表 1. HTML 部分 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8…

phpstudy简易使用

注意&#xff0c;本文所述的操作步骤均建立在电脑上已经完成php环境变量的配置与vscode的安装之上 、

【算法系列-数组】二分查找

【算法系列-数组】二分查找 文章目录 【算法系列-数组】二分查找1. 算法分析2. 搜索插入位置(LeetCode 35)2.1 解题思路2.2 解题过程2.3 代码 3. 在排序数组中查找元素的第一个和最后一个位置(LeetCode 34)3.1 解题思路3.2 解题过程3.3 代码 4. X的平方根(LeetCode 69)4.1 解题…

testRigor测试用例模板记录

testRigor测试用例模板记录 Application Description Template Application Name Name: MySampleAppApplication Type Type: Web Application / Mobile Application / Desktop ApplicationFunctionality Overview Description: MySampleApp is an online shopping platform t…

【计算机网络】网络层详解

文章目录 一、引言二、IP 基础知识1、IP 地址2、路由3、IP报文4、IP报文的分片与重组 三、IP 属于面向无连接型四、IP协议相关技术1、DNS2、ICMP3、NAT技术4、DHCP 一、引言 TCP/IP的心脏是网络层。这一层主要由 IP 和 ICMP 两个协议组成。网络层的主要作用是“实现终端节点之…

【C++打怪之路Lv4】-- 类和对象(中)

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分82)&#…

ECharts设置xAxis轴的name位置

x轴的name默认是显示在x轴的最后面&#xff0c;但是需求要把name 显示在x轴的上方&#xff0c;所以需要设置nameTextStyle&#xff0c;设置行高&#xff0c;padding和verticalAlign xAxis: { type: value, name: 个, nameTextStyle: { lineHeight: 30, //标题…