diff --git a/pom.xml b/pom.xml index 0ad4aa9..5282295 100644 --- a/pom.xml +++ b/pom.xml @@ -43,6 +43,7 @@ 3.5.5 1.2.21 1.5.0 + 1.38.0 @@ -131,6 +132,13 @@ druid-spring-boot-3-starter ${druid.version} + + + + cn.dev33 + sa-token-spring-boot3-starter + ${sa-token.version} + diff --git a/xiaoyi-auth/pom.xml b/xiaoyi-auth/pom.xml index c89d455..bfbc39d 100644 --- a/xiaoyi-auth/pom.xml +++ b/xiaoyi-auth/pom.xml @@ -58,6 +58,12 @@ com.alibaba druid-spring-boot-3-starter + + + + cn.dev33 + sa-token-spring-boot3-starter + diff --git a/xiaoyi-auth/src/main/java/com/jy/xiaoyishu/auth/controller/TestController.java b/xiaoyi-auth/src/main/java/com/jy/xiaoyishu/auth/controller/TestController.java index 4221530..3e20e87 100644 --- a/xiaoyi-auth/src/main/java/com/jy/xiaoyishu/auth/controller/TestController.java +++ b/xiaoyi-auth/src/main/java/com/jy/xiaoyishu/auth/controller/TestController.java @@ -3,12 +3,18 @@ package com.jy.xiaoyishu.auth.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.jy.framework.biz.operationlog.aspect.ApiOperationLog; import com.jy.framework.common.response.Response; import com.jy.xiaoyishu.auth.vo.User; +import cn.dev33.satoken.stp.StpUtil; + import java.time.LocalDateTime; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + /** * @@ -33,4 +39,20 @@ public class TestController { return Response.success(user); } + @RequestMapping("/user/doLogin") + public String doLogin(String username, String password) { + // 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对 + if("ayi".equals(username) && "12345678".equals(password)) { + StpUtil.login(10001); + return "登录成功"; + } + return "登录失败"; + } + + // 查询登录状态,浏览器访问: http://localhost:8080/user/isLogin + @RequestMapping("/user/isLogin") + public String isLogin() { + return "当前会话是否登录:" + StpUtil.isLogin(); + } + } diff --git a/xiaoyi-auth/src/main/resources/config/application.yml b/xiaoyi-auth/src/main/resources/config/application.yml index 6d284cf..3061882 100644 --- a/xiaoyi-auth/src/main/resources/config/application.yml +++ b/xiaoyi-auth/src/main/resources/config/application.yml @@ -5,4 +5,21 @@ server: port: 18881 logging: - config: classpath:config/logback-spring.xml \ No newline at end of file + config: classpath:config/logback-spring.xml + +############## Sa-Token 配置 ############## +sa-token: + # token 名称(同时也是 cookie 名称) + token-name: satoken + # token 有效期(单位:秒) 默认30天,-1 代表永久有效 + timeout: 2592000 + # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 + active-timeout: -1 + # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录) + is-concurrent: true + # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) + is-share: true + # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik) + token-style: uuid + # 是否输出操作日志 + is-log: true \ No newline at end of file