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

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



