From ffda42ca0cc71c53ede0a08da737874347988c81 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Fri, 12 May 2023 17:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20sa-token-quick-login=20?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/dev33/satoken/quick/SaQuickInject.java | 4 ++-- .../cn/dev33/satoken/quick/SaQuickManager.java | 7 ++++--- .../cn/dev33/satoken/quick/SaQuickRegister.java | 14 +++++++++++--- .../dev33/satoken/quick/config/SaQuickConfig.java | 6 +++--- .../dev33/satoken/quick/web/SaQuickController.java | 11 ++++++----- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickInject.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickInject.java index 8e40894c..bb050613 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickInject.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickInject.java @@ -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 配置对象 */ diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickManager.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickManager.java index 09f51061..d1f69c76 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickManager.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickManager.java @@ -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)); diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickRegister.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickRegister.java index 07fd12d4..a895bfc4 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickRegister.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickRegister.java @@ -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 diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/config/SaQuickConfig.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/config/SaQuickConfig.java index 4469df2d..cff3e886 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/config/SaQuickConfig.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/config/SaQuickConfig.java @@ -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; /** 登录页面的标题 */ diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/web/SaQuickController.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/web/SaQuickController.java index dd3a2581..591004d8 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/web/SaQuickController.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/web/SaQuickController.java @@ -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); } - // 密码校验 + // 密码校验:将前端提交的 name、pwd 与配置文件中的配置项进行比对 SaQuickConfig config = SaQuickManager.getConfig(); if(name.equals(config.getName()) && pwd.equals(config.getPwd())) { StpUtil.login(config.getName());