¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.framework.config; |
| | | |
| | | import cn.dev33.satoken.interceptor.SaAnnotationInterceptor; |
| | | import cn.dev33.satoken.interceptor.SaRouteInterceptor; |
| | | import cn.dev33.satoken.jwt.StpLogicJwtForStyle; |
| | | import cn.dev33.satoken.router.SaRouter; |
| | | import cn.dev33.satoken.stp.StpLogic; |
| | | import cn.dev33.satoken.stp.StpUtil; |
| | | import com.ruoyi.common.utils.LoginUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.framework.config.properties.SecurityProperties; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | 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 |
| | | */ |
| | | @Slf4j |
| | | @Configuration |
| | | public class SaTokenConfig implements WebMvcConfigurer { |
| | | |
| | | @Autowired |
| | | private SecurityProperties securityProperties; |
| | | |
| | | /** |
| | | * 注åsa-tokençæ¦æªå¨ |
| | | */ |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | // 注åè·¯ç±æ¦æªå¨ï¼èªå®ä¹éªè¯è§å |
| | | registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> { |
| | | // ç»å½éªè¯ -- æé¤å¤ä¸ªè·¯å¾ |
| | | SaRouter |
| | | // è·åææç |
| | | .match("/**") |
| | | // æé¤ä¸ä¸éè¦æ¦æªç |
| | | .notMatch(securityProperties.getExcludes()) |
| | | .check(() -> { |
| | | if (log.isDebugEnabled()) { |
| | | Long userId = LoginUtils.getUserId(); |
| | | if (StringUtils.isNotNull(userId)) { |
| | | log.debug("å©ä½æææ¶é´: {}", StpUtil.getTokenTimeout()); |
| | | log.debug("ä¸´æ¶æææ¶é´: {}", StpUtil.getTokenActivityTimeout()); |
| | | } |
| | | } |
| | | }); |
| | | })).addPathPatterns("/**"); |
| | | registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**"); |
| | | } |
| | | |
| | | @Bean |
| | | public StpLogic getStpLogicJwt() { |
| | | // Sa-Token æ´å jwt (Style模å¼) |
| | | return new StpLogicJwtForStyle(); |
| | | } |
| | | |
| | | } |