From 8af85e80663836a2f893be7c6feaefdf92bc93a6 Mon Sep 17 00:00:00 2001 From: MichelleChung <1242874891@qq.com> Date: 星期一, 19 九月 2022 20:30:46 +0800 Subject: [PATCH] !234 【轻量级 PR】使用 `@SaIgnore` 替换 `@Anonymous ` Merge pull request !234 from MichelleChung/dev --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 53 insertions(+), 4 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java index 9c9813f..f53dc06 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SaTokenConfig.java @@ -1,17 +1,66 @@ package com.ruoyi.framework.config; -import cn.dev33.satoken.jwt.StpLogicJwtForStyle; +import cn.dev33.satoken.interceptor.SaInterceptor; +import cn.dev33.satoken.jwt.StpLogicJwtForSimple; +import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpLogic; +import cn.dev33.satoken.stp.StpUtil; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.framework.config.properties.ExcludeUrlProperties; +import com.ruoyi.framework.config.properties.SecurityProperties; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; 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; +/** + * sa-token 閰嶇疆 + * + * @author Lion Li + */ +@RequiredArgsConstructor +@Slf4j @Configuration -public class SaTokenConfig { +public class SaTokenConfig implements WebMvcConfigurer { + + private final SecurityProperties securityProperties; + + /** + * 娉ㄥ唽sa-token鐨勬嫤鎴櫒 + */ + @Override + public void addInterceptors(InterceptorRegistry registry) { + // 娉ㄥ唽璺敱鎷︽埅鍣紝鑷畾涔夐獙璇佽鍒� + registry.addInterceptor(new SaInterceptor(handler -> { + ExcludeUrlProperties excludeUrlProperties = SpringUtils.getBean(ExcludeUrlProperties.class); + // 鐧诲綍楠岃瘉 -- 鎺掗櫎澶氫釜璺緞 + SaRouter + // 鑾峰彇鎵�鏈夌殑 + .match("/**") + // 鎺掗櫎涓嬩笉闇�瑕佹嫤鎴殑 + .notMatch(securityProperties.getExcludes()) + .notMatch(excludeUrlProperties.getExcludes()) + // 瀵规湭鎺掗櫎鐨勮矾寰勮繘琛屾鏌� + .check(() -> { + // 妫�鏌ユ槸鍚︾櫥褰� 鏄惁鏈塼oken + StpUtil.checkLogin(); + + // 鏈夋晥鐜囧奖鍝� 鐢ㄤ簬涓存椂娴嬭瘯 + // if (log.isDebugEnabled()) { + // log.debug("鍓╀綑鏈夋晥鏃堕棿: {}", StpUtil.getTokenTimeout()); + // log.debug("涓存椂鏈夋晥鏃堕棿: {}", StpUtil.getTokenActivityTimeout()); + // } + + }); + })).addPathPatterns("/**"); + } @Bean public StpLogic getStpLogicJwt() { - // Sa-Token 鏁村悎 jwt (Style妯″紡) - return new StpLogicJwtForStyle(); + // Sa-Token 鏁村悎 jwt (绠�鍗曟ā寮�) + return new StpLogicJwtForSimple(); } } -- Gitblit v1.9.3