liurunyu
2024-08-09 6b2f3024479140bb99a94128062c9ae541e99234
用户token过滤,增加不过滤的URl
2个文件已修改
1个文件已添加
45 ■■■■■ 已修改文件
pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenNoFilter.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/resources/application-global.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
@@ -25,6 +25,14 @@
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
        String requestURI = httpRequest.getRequestURI();
        // 检查请求是否为非过滤项
        if (UserTokenNoFilter.urls != null && UserTokenNoFilter.urls.stream().anyMatch(url -> requestURI.startsWith(url))) {
            // 如果是非过滤项,直接调用下一个过滤器或servlet
            filterChain.doFilter(servletRequest, servletResponse);
        } else {
            // 如果不是非过滤项,执行过滤逻辑
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String token = request.getHeader(Constant.UserTokenKeyInHeader);
@@ -52,7 +60,7 @@
            //response.sendRedirect("/error");
        }
    }
    }
    @Override
    public void destroy() {
    }
pms-parent/pms-common/src/main/java/com/dy/common/webFilter/UserTokenNoFilter.java
New file
@@ -0,0 +1,27 @@
package com.dy.common.webFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/1 14:01
 * @Description
 */
@Configuration
@ConfigurationProperties(prefix = "tokennofilter")
public class UserTokenNoFilter {
    public static List<String> urls ;
    public List<String> getUrls(){
        return urls ;
    }
    public void setUrls(List<String> urls){
        UserTokenNoFilter.urls = urls ;
    }
}
pms-parent/pms-global/src/main/resources/application-global.yml
@@ -43,16 +43,20 @@
        cache-enabled: true  #打开全局缓存开关(二级环境),默认值是true
        #default-enum-type-handler: com.dy.common.mybatis.envm.EnumCodeTypeHandler
#不进行userToken过滤的URL,@ConfigurationProperties要求tokennofilter中所有字母都小写
tokennofilter:
    urls:
        - /sso/sso
pms:
    global:
        dev: true   #是否开发阶段,true或false,开发阶段不进行登录验证及权限验证
        ssoUserExpireAfterAccess: 60  #sso登录后,用户在一定时间(ssoUserExpireAfterAccess)(分钟)内未访问系统,系统清除缓存信息,使用重新登录系统
        ssoUserExpireAfterAccess: 60  #sso登录后,用户在一定时间(ssoUserExpireAfterAccess)(分钟)内未访问系统,系统清除缓存信息,使其重新登录系统
        ssoCacheSizeInit: 10  #sso缓存初始容量
        ssoCacheSizeMax: 10000  #sso缓存最大容量,即支持ssoCacheSizeMax个用户同时登录
    nginx:
        webPort: 8000
    sso:
#        checkUrl: http://127.0.0.1:12344/sso/sso/ssoCheck
        checkUrl: http://127.0.0.1:12344/sso/sso/ssoPowerCheck
        curUserUrl: http://127.0.0.1:12344/sso/sso/ssoCurUser
        webPort: 12344