diff --git a/api-demo/src/main/java/cn/gzkx/apidemo/config/SaTokenConfigure.java b/api-demo/src/main/java/cn/gzkx/apidemo/config/SaTokenConfigure.java
new file mode 100644
index 0000000..5dc819c
--- /dev/null
+++ b/api-demo/src/main/java/cn/gzkx/apidemo/config/SaTokenConfigure.java
@@ -0,0 +1,41 @@
+package cn.gzkx.apidemo.config;
+
+import cn.dev33.satoken.context.SaHolder;
+import cn.dev33.satoken.filter.SaServletFilter;
+import cn.dev33.satoken.interceptor.SaInterceptor;
+import cn.dev33.satoken.same.SaSameUtil;
+import cn.dev33.satoken.stp.StpUtil;
+import cn.dev33.satoken.util.SaResult;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class SaTokenConfigure implements WebMvcConfigurer {
+ // 注册 Sa-Token 拦截器,打开注解式鉴权功能
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ // 注册 Sa-Token 拦截器,打开注解式鉴权功能
+// registry.addInterceptor(new SaInterceptor().setAuth(obj->{
+// StpUtil.checkLogin();
+// })).addPathPatterns("/**");
+ registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
+ }
+// 注册 Sa-Token 全局过滤器
+//@Bean
+//public SaServletFilter getSaServletFilter() {
+// return new SaServletFilter()
+// .addInclude("/**")
+// .addExclude("/favicon.ico")
+// .setAuth(obj -> {
+// // 校验 Same-Token 身份凭证 —— 以下两句代码可简化为:SaSameUtil.checkCurrentRequestToken();
+// String token = SaHolder.getRequest().getHeader("satoken");
+// SaSameUtil.checkToken(token);
+// })
+// .setError(e -> {
+// return SaResult.error(e.getMessage());
+// })
+// ;
+//}
+}
diff --git a/api-demo/src/main/java/cn/gzkx/apidemo/controller/ApiController.java b/api-demo/src/main/java/cn/gzkx/apidemo/controller/ApiController.java
index 2d4f9ac..8f08ddb 100644
--- a/api-demo/src/main/java/cn/gzkx/apidemo/controller/ApiController.java
+++ b/api-demo/src/main/java/cn/gzkx/apidemo/controller/ApiController.java
@@ -2,10 +2,15 @@ package cn.gzkx.apidemo.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
+import cn.dev33.satoken.stp.StpUtil;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+
+
/**
* @author: zqm
* @desc:
@@ -18,7 +23,10 @@ public class ApiController {
// 仅管理员角色可以访问
@GetMapping("/admin")
@SaCheckRole("admin")
- public String adminEndpoint() {
+ public String adminEndpoint(HttpServletRequest request) {
+ boolean flag= StpUtil.isLogin();
+ Object role= StpUtil.getSession().get("role");
+ Object loginId= StpUtil.getLoginId();
return "欢迎管理员访问此接口";
}
diff --git a/api-demo/src/main/resources/application.yml b/api-demo/src/main/resources/application.yml
index f0e7595..7b24fa4 100644
--- a/api-demo/src/main/resources/application.yml
+++ b/api-demo/src/main/resources/application.yml
@@ -3,18 +3,16 @@ server:
spring:
application:
name: api-demo
- # redis配置
+ data:
redis:
- # Redis数据库索引(默认为0)
- database: 1
- # Redis服务器地址
- host: 127.0.0.1
- # Redis服务器连接端口
+ host: 192.168.56.12
port: 6379
- # Redis服务器连接密码(默认为空)
- # password:
- # 连接超时时间
- timeout: 10s
+ # redis 密码必须配置
+ password: Asd123$
+ database: 0
+ # 需要使用数字
+ timeout: 10000
+ ssl.enabled: false
lettuce:
pool:
# 连接池最大连接数
@@ -25,3 +23,20 @@ spring:
max-idle: 10
# 连接池中的最小空闲连接
min-idle: 0
+############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
+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
+ is-read-cookie: false
\ No newline at end of file
diff --git a/satoken-auth/pom.xml b/satoken-auth/pom.xml
index 64d8f4f..1d2e2ab 100644
--- a/satoken-auth/pom.xml
+++ b/satoken-auth/pom.xml
@@ -34,12 +34,6 @@
org.springframework.boot
spring-boot-starter-web
-
-
- org.projectlombok
- lombok
- true
-
org.springframework.boot
spring-boot-starter-test
@@ -57,11 +51,23 @@
sa-token-redis-jackson
1.39.0
+
+
+ cn.dev33
+ sa-token-sso
+ 1.39.0
+
org.apache.commons
commons-pool2
+
+
+ org.projectlombok
+ lombok
+ true
+
diff --git a/satoken-auth/src/main/resources/application.yml b/satoken-auth/src/main/resources/application.yml
index 5411f8e..6a50956 100644
--- a/satoken-auth/src/main/resources/application.yml
+++ b/satoken-auth/src/main/resources/application.yml
@@ -3,18 +3,16 @@ server:
spring:
application:
name: satoken-auth
- # redis配置
+ data:
redis:
- # Redis数据库索引(默认为0)
- database: 1
- # Redis服务器地址
- host: 127.0.0.1
- # Redis服务器连接端口
+ host: 192.168.56.12
port: 6379
- # Redis服务器连接密码(默认为空)
- # password:
- # 连接超时时间
- timeout: 10s
+ # redis 密码必须配置
+ password: Asd123$
+ database: 0
+ # 需要使用数字
+ timeout: 10000
+ ssl.enabled: false
lettuce:
pool:
# 连接池最大连接数
@@ -42,3 +40,4 @@ sa-token:
token-style: uuid
# 是否输出操作日志
is-log: true
+ is-read-cookie: false
diff --git a/udf-udfdemo/pom.xml b/udf-udfdemo/pom.xml
index 42d848e..a4c199c 100644
--- a/udf-udfdemo/pom.xml
+++ b/udf-udfdemo/pom.xml
@@ -27,6 +27,5 @@
udf-common-web
1.0
-
\ No newline at end of file
diff --git a/udf-udfdemo/src/main/java/cn/udf/demo/controller/SysUserController.java b/udf-udfdemo/src/main/java/cn/udf/demo/controller/SysUserController.java
index 8e3ad01..f9cf36d 100644
--- a/udf-udfdemo/src/main/java/cn/udf/demo/controller/SysUserController.java
+++ b/udf-udfdemo/src/main/java/cn/udf/demo/controller/SysUserController.java
@@ -1,28 +1,28 @@
-//package cn.udf.demo.controller;
-//
-//import cn.udf.common.core.result.ApiResult;
-//import cn.udf.common.web.core.BaseController;
-//import cn.udf.demo.domain.SysUser;
-//import cn.udf.demo.service.SysUserService;
-//import lombok.RequiredArgsConstructor;
-//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;
-//
-///**
-// * @author: zqm
-// * @desc:
-// * @date: 2024/12/28 下午5:14
-// */
-//@RequiredArgsConstructor
-//@RestController
-//@RequestMapping("/sysUser")
-//public class SysUserController extends BaseController {
-// private final SysUserService sysUserService;
-//
-// @PostMapping("/add")
-// public ApiResult addSysUser(@RequestBody SysUser sysUser) {
-// return ApiResult.success(sysUserService.addUser(sysUser));
-// }
-//}
+package cn.udf.demo.controller;
+
+import cn.udf.common.core.result.ApiResult;
+import cn.udf.common.web.core.BaseController;
+import cn.udf.demo.domain.SysUser;
+import cn.udf.demo.service.SysUserService;
+import lombok.RequiredArgsConstructor;
+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;
+
+/**
+ * @author: zqm
+ * @desc:
+ * @date: 2024/12/28 下午5:14
+ */
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/sysUser")
+public class SysUserController extends BaseController {
+ private final SysUserService sysUserService;
+
+ @PostMapping("/add")
+ public ApiResult addSysUser(@RequestBody SysUser sysUser) {
+ return ApiResult.success(sysUserService.addUser(sysUser));
+ }
+}
diff --git a/udf-udfdemo/src/main/java/cn/udf/demo/service/IUserSreivce.java b/udf-udfdemo/src/main/java/cn/udf/demo/service/IUserSreivce.java
new file mode 100644
index 0000000..ed20f68
--- /dev/null
+++ b/udf-udfdemo/src/main/java/cn/udf/demo/service/IUserSreivce.java
@@ -0,0 +1,7 @@
+package cn.udf.demo.service;
+
+import cn.udf.demo.domain.SysUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IUserSreivce extends IService {
+}
diff --git a/udf-udfdemo/src/main/java/cn/udf/demo/service/SysUserService.java b/udf-udfdemo/src/main/java/cn/udf/demo/service/SysUserService.java
index e3d8265..969af7c 100644
--- a/udf-udfdemo/src/main/java/cn/udf/demo/service/SysUserService.java
+++ b/udf-udfdemo/src/main/java/cn/udf/demo/service/SysUserService.java
@@ -1,24 +1,24 @@
-//package cn.udf.demo.service;
-//
-//import cn.udf.demo.domain.SysUser;
-//import cn.udf.demo.mapper.SysUserMapper;
-//import lombok.RequiredArgsConstructor;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.stereotype.Service;
-//
-//
-///**
-// * @author: zqm
-// * @desc:
-// * @date: 2024/12/28 下午5:02
-// */
-//@Slf4j
-//@RequiredArgsConstructor
-//@Service
-//public class SysUserService {
-// private final SysUserMapper sysUserMapper;
-//
-// public int addUser(SysUser sysUser) {
-// return sysUserMapper.insert(sysUser);
-// }
-//}
+package cn.udf.demo.service;
+
+import cn.udf.demo.domain.SysUser;
+import cn.udf.demo.mapper.SysUserMapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * @author: zqm
+ * @desc:
+ * @date: 2024/12/28 下午5:02
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class SysUserService {
+ private final SysUserMapper sysUserMapper;
+
+ public int addUser(SysUser sysUser) {
+ return sysUserMapper.insert(sysUser);
+ }
+}