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

cas5.3

在这里插入图片描述

为什么选择cas5.3 版本

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

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

为什么要前后端分离

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

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

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

代码改造点

UsernamePasswordCredential 实现

原生的Credential 传递信息只包含用户名,密码,如果需要其他信息则需要自己实现

验证码

增加验证码生成逻辑,增强登录的安全性

短信验证

流程参考验证码生成验证逻辑

接入Redis

自定义逻辑接入Redis,实现分布式验证码验证

密码错误次数

记录判定密码错误次数

封装返回结果

返回结果用Result 封装,包含状态码,异常信息,便于前后端对接
在这里插入图片描述

Maven 配置

配置示例

  <!--Kaptcha是一个基于SimpleCaptcha的验证码开源项目-->
        <dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值