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/TokenLoginFilter.java | 74 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 0 deletions(-)
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java
new file mode 100644
index 0000000..d3f5f4c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/filter/TokenLoginFilter.java
@@ -0,0 +1,74 @@
+//package com.mes.filter;
+//
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import com.mes.utils.Result;
+//import com.mes.entity.SecurityUser;
+//import com.mes.entity.User;
+//import com.mes.security.TokenManager;
+//import com.mes.utils.ResponseUtil;
+//import org.springframework.data.redis.core.RedisTemplate;
+//import org.springframework.security.authentication.AuthenticationManager;
+//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+//import org.springframework.security.core.Authentication;
+//import org.springframework.security.core.AuthenticationException;
+//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+//import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+//
+//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;
+//
+//public class TokenLoginFilter extends UsernamePasswordAuthenticationFilter {
+//
+// private TokenManager tokenManager;
+// private RedisTemplate redisTemplate;
+// private AuthenticationManager authenticationManager;
+//
+// public TokenLoginFilter(AuthenticationManager authenticationManager, TokenManager tokenManager, RedisTemplate redisTemplate) {
+// this.authenticationManager = authenticationManager;
+// this.tokenManager = tokenManager;
+// this.redisTemplate = redisTemplate;
+// this.setPostOnly(false);
+// this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/admin/acl/login","POST"));
+// }
+//
+// //1 鑾峰彇琛ㄥ崟鎻愪氦鐢ㄦ埛鍚嶅拰瀵嗙爜
+// @Override
+// public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response)
+// throws AuthenticationException {
+// //鑾峰彇琛ㄥ崟鎻愪氦鏁版嵁
+// try {
+// User user = new ObjectMapper().readValue(request.getInputStream(), User.class);
+// return authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(user.getUsername(),user.getPassword(),
+// new ArrayList<>()));
+// } catch (IOException e) {
+// e.printStackTrace();
+// throw new RuntimeException();
+// }
+// }
+//
+// //2 璁よ瘉鎴愬姛璋冪敤鐨勬柟娉�
+// @Override
+// protected void successfulAuthentication(HttpServletRequest request,
+// HttpServletResponse response, FilterChain chain, Authentication authResult)
+// throws IOException, ServletException {
+// //璁よ瘉鎴愬姛锛屽緱鍒拌璇佹垚鍔熶箣鍚庣敤鎴蜂俊鎭�
+// SecurityUser user = (SecurityUser)authResult.getPrincipal();
+// //鏍规嵁鐢ㄦ埛鍚嶇敓鎴恡oken
+// String token = tokenManager.createToken(user.getCurrentUserInfo().getUsername());
+// //鎶婄敤鎴峰悕绉板拰鐢ㄦ埛鏉冮檺鍒楄〃鏀惧埌redis
+// redisTemplate.opsForValue().set(user.getCurrentUserInfo().getUsername(),user.getPermissionValueList());
+// //杩斿洖token
+// ResponseUtil.out(response, Result.success(token));
+// }
+//
+// //3 璁よ瘉澶辫触璋冪敤鐨勬柟娉�
+// @Override
+// protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed)
+// throws IOException, ServletException {
+// ResponseUtil.out(response, Result.error());
+// }
+//}
--
Gitblit v1.8.0