From f8a73ae78727eab0063a26b4c57c3d451f1a0ab5 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 18 四月 2024 14:23:05 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java
new file mode 100644
index 0000000..5b1fd72
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenAuthFilter.java
@@ -0,0 +1,60 @@
+//package com.mes.filter;
+//
+//import com.mes.security.TokenManager;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.authentication.AuthenticationManager;
+//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+//import org.springframework.security.core.GrantedAuthority;
+//import org.springframework.security.core.authority.SimpleGrantedAuthority;
+//import org.springframework.security.core.context.SecurityContextHolder;
+//import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
+//
+//import javax.servlet.FilterChain;
+//import javax.servlet.ServletException;
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.io.IOException;
+//import java.util.ArrayList;
+//import java.util.Collection;
+//import java.util.List;
+//
+//public class TokenAuthFilter extends BasicAuthenticationFilter {
+//
+//    private TokenManager tokenManager;
+//    private RedisTemplate redisTemplate;
+//    public TokenAuthFilter(AuthenticationManager authenticationManager,TokenManager tokenManager,RedisTemplate redisTemplate) {
+//        super(authenticationManager);
+//        this.tokenManager = tokenManager;
+//        this.redisTemplate = redisTemplate;
+//    }
+//
+//    @Override
+//    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
+//        //鑾峰彇褰撳墠璁よ瘉鎴愬姛鐢ㄦ埛鏉冮檺淇℃伅
+//        UsernamePasswordAuthenticationToken authRequest = getAuthentication(request);
+//        //鍒ゆ柇濡傛灉鏈夋潈闄愪俊鎭紝鏀惧埌鏉冮檺涓婁笅鏂囦腑
+//        if(authRequest != null) {
+//            SecurityContextHolder.getContext().setAuthentication(authRequest);
+//        }
+//        chain.doFilter(request,response);
+//    }
+//
+//    private UsernamePasswordAuthenticationToken getAuthentication(HttpServletRequest request) {
+//        //浠巋eader鑾峰彇token
+//        String token = request.getHeader("token");
+//        if(token != null) {
+//            //浠巘oken鑾峰彇鐢ㄦ埛鍚�
+//            String username = tokenManager.getUserInfoFromToken(token);
+//            //浠巖edis鑾峰彇瀵瑰簲鏉冮檺鍒楄〃
+//            List<String> permissionValueList = (List<String>)redisTemplate.opsForValue().get(username);
+//            Collection<GrantedAuthority> authority = new ArrayList<>();
+//            for(String permissionValue : permissionValueList) {
+//                SimpleGrantedAuthority auth = new SimpleGrantedAuthority(permissionValue);
+//                authority.add(auth);
+//            }
+//            return new UsernamePasswordAuthenticationToken(username,token,authority);
+//        }
+//        return null;
+//    }
+//
+//}

--
Gitblit v1.8.0