From 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 23 九月 2021 19:13:58 +0800 Subject: [PATCH] update 整合 satoken 权限、鉴权一体化框架 --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java index ddf4c70..3b19e57 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -1,12 +1,23 @@ package com.ruoyi.framework.config; +import cn.dev33.satoken.interceptor.SaAnnotationInterceptor; +import cn.dev33.satoken.interceptor.SaRouteInterceptor; +import cn.dev33.satoken.router.SaRouter; +import cn.dev33.satoken.stp.StpUtil; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; /** * 閫氱敤閰嶇疆 @@ -16,6 +27,49 @@ @Configuration public class ResourcesConfig implements WebMvcConfigurer { + // 娉ㄥ唽sa-token鐨勬嫤鎴櫒 + @Override + public void addInterceptors(InterceptorRegistry registry) { + List<String> urlPath = Arrays.asList( + "/login", + "/logout", + "/captchaImage", + "/*.html", + "/**/*.html", + "/**/*.css", + "/**/*.js", + "/profile/**", + "/common/download**", + "/common/download/resource**", + "/swagger-ui.html", + "/swagger-resources/**", + "/webjars/**", + "/*/api-docs", + "/druid/**", + "/actuator", + "/actuator/**" + ); + // 娉ㄥ唽璺敱鎷︽埅鍣紝鑷畾涔夐獙璇佽鍒� + registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> { + // 鐧诲綍楠岃瘉 -- 鎺掗櫎澶氫釜璺緞 + SaRouter.match( + //鑾峰彇鎵�鏈夌殑 + Collections.singletonList("/**"), + //鎺掗櫎涓嬩笉闇�瑕佹嫤鎴殑 + urlPath, + () -> { + Long userId = SecurityUtils.getUserId(); + if(StringUtils.isNotNull(userId) ) { + long tokenTimeout = StpUtil.getTokenTimeout(); + long tokenActivityTimeout = StpUtil.getTokenActivityTimeout(); + System.out.println("鍓╀綑鏈夋晥鏃堕棿: " + tokenTimeout); + System.out.println("涓存椂鏈夋晥鏃堕棿: " + tokenActivityTimeout); + } + }); + })).addPathPatterns("/**"); + registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**"); + } + @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { } -- Gitblit v1.9.3