From 269ad8cedbb07ca207a6f33af23085894dab4aa6 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 23 四月 2023 14:36:13 +0800
Subject: [PATCH] 修身目录刷新,优化公网下远程IP端口的获取

---
 src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java b/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java
index 81b3408..f012f7e 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java
@@ -1,6 +1,7 @@
 package com.genersoft.iot.vmp.conf.security;
 
 import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -9,6 +10,7 @@
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 
 import javax.security.sasl.AuthenticationException;
+import java.time.LocalDateTime;
 
 public class SecurityUtils {
 
@@ -25,9 +27,12 @@
     public static LoginUser login(String username, String password, AuthenticationManager authenticationManager) throws AuthenticationException {
         //浣跨敤security妗嗘灦鑷甫鐨勯獙璇乼oken鐢熸垚鍣�  涔熷彲浠ヨ嚜瀹氫箟銆�
         UsernamePasswordAuthenticationToken token =new UsernamePasswordAuthenticationToken(username,password);
+        //璁よ瘉 濡傛灉澶辫触锛岃繖閲屼細鑷姩寮傚父鍚庤繑鍥烇紝鎵�浠ヨ繖閲屼笉闇�瑕佸垽鏂繑鍥炲�兼槸鍚︿负绌猴紝纭畾鏄惁鐧诲綍鎴愬姛
         Authentication authenticate = authenticationManager.authenticate(token);
-        SecurityContextHolder.getContext().setAuthentication(authenticate);
         LoginUser user = (LoginUser) authenticate.getPrincipal();
+
+        SecurityContextHolder.getContext().setAuthentication(token);
+
         return user;
     }
 
@@ -48,9 +53,10 @@
         Authentication authentication = getAuthentication();
         if(authentication!=null){
             Object principal = authentication.getPrincipal();
-            if(principal!=null){
-                LoginUser user = (LoginUser) authentication.getPrincipal();
-                return user;
+            if(principal!=null && !"anonymousUser".equals(principal.toString())){
+
+                User user = (User) principal;
+                return new LoginUser(user, LocalDateTime.now());
             }
         }
         return null;

--
Gitblit v1.8.0