From 23a85700afd9306f8361dee0994d90f6353ac3e0 Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Tue, 14 Sep 2021 22:18:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=A2=9E=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pj/test/LoginController.java | 18 +++++--- sa-token-doc/doc/lib/index.css | 5 +++ sa-token-doc/doc/start/webflux-example.md | 2 +- sa-token-doc/doc/use/login-auth.md | 43 ++++++++++++++++++- sa-token-doc/doc/use/session.md | 11 ++++- 5 files changed, 70 insertions(+), 9 deletions(-) diff --git a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/LoginController.java b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/LoginController.java index 4a072ad7..ea94cfa7 100644 --- a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/LoginController.java +++ b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/LoginController.java @@ -25,6 +25,18 @@ public class LoginController { } return SaResult.error("登录失败"); } + + // 查询登录状态 ---- http://localhost:8081/acc/isLogin + @RequestMapping("isLogin") + public SaResult isLogin() { + return SaResult.ok("是否登录:" + StpUtil.isLogin()); + } + + // 查询 Token 信息 ---- http://localhost:8081/acc/tokenInfo + @RequestMapping("tokenInfo") + public SaResult tokenInfo() { + return SaResult.data(StpUtil.getTokenInfo()); + } // 测试注销 ---- http://localhost:8081/acc/logout @RequestMapping("logout") @@ -33,10 +45,4 @@ public class LoginController { return SaResult.ok(); } - // 查询登录状态 ---- http://localhost:8081/acc/isLogin - @RequestMapping("isLogin") - public SaResult isLogin(String username, String password) { - return SaResult.ok("是否登录:" + StpUtil.isLogin()); - } - } diff --git a/sa-token-doc/doc/lib/index.css b/sa-token-doc/doc/lib/index.css index 3c6c44aa..824a01ce 100644 --- a/sa-token-doc/doc/lib/index.css +++ b/sa-token-doc/doc/lib/index.css @@ -97,4 +97,9 @@ body{font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu .code-line-box {line-height: inherit !important; background-color: #111; color: #aaa;font-weight: 400;font-size: 0.85em;text-align: center;} .code-line-box {font-family: source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;} +/* 提示框加上灰色背景 */ +.main-box .markdown-section blockquote{padding: 1px 24px 1px 30px; background-color: #f8f8f8;} +/* 行级代码样式 */ +blockquote code {font-weight: 400;} +.markdown-section strong code{font-family: "宋体";} diff --git a/sa-token-doc/doc/start/webflux-example.md b/sa-token-doc/doc/start/webflux-example.md index f7664f07..d5bbfa24 100644 --- a/sa-token-doc/doc/start/webflux-example.md +++ b/sa-token-doc/doc/start/webflux-example.md @@ -93,7 +93,7 @@ public class UserController { // 查询登录状态,浏览器访问: http://localhost:8081/user/isLogin @RequestMapping("isLogin") - public String isLogin(String username, String password) { + public String isLogin() { return "当前会话是否登录:" + StpUtil.isLogin(); } diff --git a/sa-token-doc/doc/use/login-auth.md b/sa-token-doc/doc/use/login-auth.md index 82c8eb50..962727fe 100644 --- a/sa-token-doc/doc/use/login-auth.md +++ b/sa-token-doc/doc/use/login-auth.md @@ -66,6 +66,47 @@ StpUtil.getTokenValue(); StpUtil.getTokenInfo(); ``` -有关`TokenInfo`参数详解,请参考:[TokenInfo参数详解](/fun/token-info) + +### 来个小测试,加深一下理解 +新建 `LoginController`,复制以下代码 +``` java +/** + * 登录测试 + * @author kong + * + */ +@RestController +@RequestMapping("/acc/") +public class LoginController { + + // 测试登录 ---- http://localhost:8081/acc/doLogin?name=zhang&pwd=123456 + @RequestMapping("doLogin") + public SaResult doLogin(String name, String pwd) { + // 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对 + if("zhang".equals(name) && "123456".equals(pwd)) { + StpUtil.login(10001); + return SaResult.ok("登录成功"); + } + return SaResult.error("登录失败"); + } + + // 查询登录状态 ---- http://localhost:8081/acc/isLogin + @RequestMapping("isLogin") + public SaResult isLogin() { + return SaResult.ok("是否登录:" + StpUtil.isLogin()); + } + + // 测试注销 ---- http://localhost:8081/acc/logout + @RequestMapping("logout") + public SaResult logout() { + StpUtil.logout(); + return SaResult.ok(); + } + +} +``` + +> 有关`TokenInfo`参数详解,请参考:[TokenInfo参数详解](/fun/token-info) + diff --git a/sa-token-doc/doc/use/session.md b/sa-token-doc/doc/use/session.md index c4b34352..b715b00c 100644 --- a/sa-token-doc/doc/use/session.md +++ b/sa-token-doc/doc/use/session.md @@ -3,7 +3,16 @@ ### Session是什么? -Session是会话中专业的数据缓存组件,通过 Session 我们可以很方便的缓存一些高频读写数据,提高程序性能
+Session是会话中专业的数据缓存组件,通过 Session 我们可以很方便的缓存一些高频读写数据,提高程序性能,例如: + +``` java +// 在登录时缓存user对象 +StpUtil.getSession().set("user", user); + +// 然后我们就可以在任意处使用这个user对象 +SysUser user = (SysUser) StpUtil.getSession().get("user"); +``` + 在 Sa-Token 中,Session 分为三种,分别是: - `User-Session`: 指的是框架为每个 账号id 分配的 Session