diff --git a/baogutang-admin/pom.xml b/baogutang-admin/pom.xml
index 2f1d7f1..04d7452 100644
--- a/baogutang-admin/pom.xml
+++ b/baogutang-admin/pom.xml
@@ -84,6 +84,26 @@
dingtalk
2.0.20
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.34.0
+
+
+
+
+ cn.dev33
+ sa-token-sso
+ 1.34.0
+
+
+
+ com.dtflys.forest
+ forest-spring-boot-starter
+ 1.5.26
+
+
diff --git a/baogutang-admin/src/main/java/top/baogutang/admin/config/EncoderConfig.java b/baogutang-admin/src/main/java/top/baogutang/admin/config/EncoderConfig.java
new file mode 100644
index 0000000..c311817
--- /dev/null
+++ b/baogutang-admin/src/main/java/top/baogutang/admin/config/EncoderConfig.java
@@ -0,0 +1,20 @@
+package top.baogutang.admin.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+/**
+ * @description:
+ * @author: developer
+ * @date: 2022/06/10 : 12:08
+ */
+@Configuration
+public class EncoderConfig {
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+}
diff --git a/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java b/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java
new file mode 100644
index 0000000..3a3fcf4
--- /dev/null
+++ b/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java
@@ -0,0 +1,20 @@
+package top.baogutang.admin.config;
+
+import cn.dev33.satoken.strategy.SaStrategy;
+import cn.dev33.satoken.util.SaFoxUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SaTokenConfigure {
+ /**
+ * 重写 Sa-Token 框架内部算法策略
+ */
+ @Autowired
+ public void rewriteSaStrategy() {
+ // 重写 Token 生成策略
+ SaStrategy.me.createToken = (loginId, loginType) -> {
+ return SaFoxUtil.getRandomString(60);
+ };
+ }
+}
diff --git a/baogutang-admin/src/main/java/top/baogutang/admin/config/SysGlobalExceptionHandler.java b/baogutang-admin/src/main/java/top/baogutang/admin/config/SysGlobalExceptionHandler.java
new file mode 100644
index 0000000..d985973
--- /dev/null
+++ b/baogutang-admin/src/main/java/top/baogutang/admin/config/SysGlobalExceptionHandler.java
@@ -0,0 +1,31 @@
+package top.baogutang.admin.config;
+
+import cn.dev33.satoken.exception.NotLoginException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import top.baogutang.common.domain.Results;
+
+/**
+ * @description: 全局异常处理
+ * @author: nikooh
+ * @date: 2023/06/15 : 12:23
+ */
+@Slf4j
+@RestControllerAdvice
+public class SysGlobalExceptionHandler {
+
+
+ public SysGlobalExceptionHandler() {
+ //
+ }
+
+
+ @ExceptionHandler({NotLoginException.class})
+ public Results