diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaResult.java b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaResult.java index ade8f9f4..6bfe2391 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaResult.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaResult.java @@ -80,6 +80,12 @@ public class SaResult implements Serializable{ public static SaResult error(String msg) { return new SaResult(CODE_ERROR, msg, null); } + + // 构建指定状态码 + public static SaResult get(int code, String msg, Object data) { + return new SaResult(code, msg, data); + } + /* (non-Javadoc) * @see java.lang.Object#toString() diff --git a/sa-token-demo/sa-token-demo-quick-login/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-quick-login/src/main/resources/application.yml index 813fb40f..da460501 100644 --- a/sa-token-demo/sa-token-demo-quick-login/src/main/resources/application.yml +++ b/sa-token-demo/sa-token-demo-quick-login/src/main/resources/application.yml @@ -16,6 +16,10 @@ sa: title: Sa-Token 登录 # 是否显示底部版权信息 copr: true + # 指定拦截路径 + # include: /** + # 指定排除路径 + # exclude: /sss,/fff # 将本地磁盘的某个路径作为静态资源开放 # dir: file:E:\static diff --git a/sa-token-doc/doc/plugin/quick-login.md b/sa-token-doc/doc/plugin/quick-login.md index c3c6dff3..0997e814 100644 --- a/sa-token-doc/doc/plugin/quick-login.md +++ b/sa-token-doc/doc/plugin/quick-login.md @@ -113,6 +113,10 @@ sa: title: Sa-Token 登录 # 是否显示底部版权信息 copr: true + # 指定拦截路径 + # include: /** + # 指定排除路径 + # exclude: /sss,/fff ```
diff --git a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java index 75e48475..0b6017a6 100644 --- a/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java +++ b/sa-token-plugin/sa-token-quick-login/src/main/java/cn/dev33/satoken/quick/SaQuickBean.java @@ -58,10 +58,11 @@ public class SaQuickBean implements WebMvcConfigurer { @Bean @Order(SaTokenConsts.ASSEMBLY_ORDER - 1) public SaServletFilter getSaServletFilter() { - return new SaServletFilter(). + return new SaServletFilter() // 拦截路由 & 放行路由 - addInclude(SaQuickManager.getConfig().getInclude().split(",")) - .addExclude("/favicon.ico", "/saLogin", "/doLogin", "/sa-res/**"). + .addInclude(SaQuickManager.getConfig().getInclude().split(",")) + .addExclude(SaQuickManager.getConfig().getExclude().split(",")) + .addExclude("/favicon.ico", "/saLogin", "/doLogin", "/sa-res/**"). // 认证函数: 每次请求执行 setAuth(r -> { // System.out.println("---------- 进入sa-token全局认证 -----------"); 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 6793bbfe..86705670 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 @@ -29,6 +29,9 @@ public class SaQuickConfig { /** 配置拦截的路径,逗号分隔 */ private String include = "/**"; + /** 配置拦截的路径,逗号分隔 */ + private String exclude = ""; + public Boolean getAuth() { return auth; } @@ -84,6 +87,16 @@ public class SaQuickConfig { public void setInclude(String include) { this.include = include; } + + public String getExclude() { + return exclude; + } + + public void setExclude(String exclude) { + this.exclude = exclude; + } + + @Override public String toString() { return "SaQuickConfig{" + @@ -94,6 +107,7 @@ public class SaQuickConfig { ", title='" + title + '\'' + ", copr=" + copr + ", include='" + include + '\'' + + ", exclude='" + exclude + '\'' + '}'; } } 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 ffb42dc9..aac4a853 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 @@ -1,8 +1,5 @@ package cn.dev33.satoken.quick.web; -import java.util.HashMap; -import java.util.Map; - import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; @@ -14,6 +11,7 @@ import cn.dev33.satoken.quick.SaQuickManager; import cn.dev33.satoken.quick.config.SaQuickConfig; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaFoxUtil; +import cn.dev33.satoken.util.SaResult; /** * 登录Controller @@ -34,7 +32,6 @@ public class SaQuickController { return "sa-login.html"; } - /** * 登录接口 * @param name 账号 @@ -43,31 +40,22 @@ public class SaQuickController { */ @PostMapping("/doLogin") @ResponseBody - public Map doLogin(String name, String pwd) { + public SaResult doLogin(String name, String pwd) { // 参数完整性校验 if(SaFoxUtil.isEmpty(name) || SaFoxUtil.isEmpty(pwd)) { - return getResult(500, "请输入账号和密码", null); + return SaResult.get(500, "请输入账号和密码", null); } // 密码校验 SaQuickConfig config = SaQuickManager.getConfig(); if(name.equals(config.getName()) && pwd.equals(config.getPwd())) { StpUtil.login(config.getName()); - return getResult(200, "ok", StpUtil.getTokenInfo()); + return SaResult.get(200, "ok", StpUtil.getTokenInfo()); } else { // 校验失败 - return getResult(500, "账号或密码输入错误", null); + return SaResult.get(500, "账号或密码输入错误", null); } } - - private Map getResult(int code, String msg, Object data) { - Map map = new HashMap(); - map.put("code", code); - map.put("msg", msg); - map.put("data", data); - return map; - } - }