优化 sa-token-quick-login 模块注释

This commit is contained in:
click33 2023-05-12 17:38:02 +08:00
parent 000b443586
commit ffda42ca0c
5 changed files with 26 additions and 16 deletions

View File

@ -11,14 +11,14 @@ import cn.dev33.satoken.quick.web.SaQuickController;
* Quick-Bean 注入
*
* @author click33
*
* @since <= 1.34.0
*/
@Configuration
@Import({ SaQuickController.class, SaQuickRegister.class})
public class SaQuickInject {
/**
* 注入quick-login 配置
* 注入 quick-login 配置
*
* @param saQuickConfig 配置对象
*/

View File

@ -4,9 +4,10 @@ import cn.dev33.satoken.quick.config.SaQuickConfig;
import cn.dev33.satoken.util.SaFoxUtil;
/**
* SaQuickManager
* @author click33
* SaQuickManager持有 SaQuickConfig 配置对象全局引用
*
* @author click33
* @since <= 1.34.0
*/
public class SaQuickManager {
@ -16,7 +17,7 @@ public class SaQuickManager {
private static SaQuickConfig config;
public static void setConfig(SaQuickConfig config) {
SaQuickManager.config = config;
// 如果配置了随机密码
// 如果配置了 auto=true随机生成账号名密码
if(config.getAuto()) {
config.setName(SaFoxUtil.getRandomString(8));
config.setPwd(SaFoxUtil.getRandomString(8));

View File

@ -13,21 +13,26 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaTokenConsts;
/**
* Quick-Bean 注册
* Quick Login 相关 Bean 注册
*
* @author click33
*
* @since <= 1.34.0
*/
@Configuration
public class SaQuickRegister {
/**
* 使用一个比较短的前缀尽量提高 cmd 命令台启动时指定参数的便利性
*/
public static final String CONFIG_VERSION = "sa";
/**
* 注册 Quick-Login 配置
*
* @return see note
*/
@Bean
@ConfigurationProperties(prefix = "sa")
@ConfigurationProperties(prefix = CONFIG_VERSION)
SaQuickConfig getSaQuickConfig() {
return new SaQuickConfig();
}
@ -41,10 +46,13 @@ public class SaQuickRegister {
@Order(SaTokenConsts.ASSEMBLY_ORDER - 1)
SaServletFilter getSaServletFilterForQuickLogin() {
return new SaServletFilter()
// 拦截路由
.addInclude("/**")
// 排除掉登录相关接口不需要鉴权的
.addExclude("/favicon.ico", "/saLogin", "/doLogin", "/sa-res/**").
// 认证函数: 每次请求执行
setAuth(obj -> {
SaRouter

View File

@ -4,11 +4,11 @@ package cn.dev33.satoken.quick.config;
* sa-quick 配置类 Model
*
* @author click33
*
* @since <= 1.34.0
*/
public class SaQuickConfig {
/** 是否开启全局认证 */
/** 是否开启全局登录校验,如果为 false则不再拦截请求出现登录页 */
private Boolean auth = true;
/** 用户名 */
@ -17,7 +17,7 @@ public class SaQuickConfig {
/** 密码 */
private String pwd = "123456";
/** 是否自动生成一个账号和密码 */
/** 是否自动生成一个账号和密码,此配置项为 true 后name、pwd 字段将失效 */
private Boolean auto = false;
/** 登录页面的标题 */

View File

@ -13,17 +13,18 @@ import cn.dev33.satoken.util.SaFoxUtil;
import cn.dev33.satoken.util.SaResult;
/**
* 登录Controller
* @author click33
* 登录Controller处理登录相关请求
*
* @author click33
* @since <= 1.34.0
*/
@Controller
public class SaQuickController {
/**
* 进入登录页面
* @param model see note
* @return see note
* @param model /
* @return /
*/
@GetMapping("/saLogin")
public String saLogin(Model model) {
@ -46,7 +47,7 @@ public class SaQuickController {
return SaResult.get(500, "请输入账号和密码", null);
}
// 密码校验
// 密码校验将前端提交的 namepwd 与配置文件中的配置项进行比对
SaQuickConfig config = SaQuickManager.getConfig();
if(name.equals(config.getName()) && pwd.equals(config.getPwd())) {
StpUtil.login(config.getName());