소스 검색

!5 update
Merge pull request !5 from 邹旋/zouxuan

邹旋 6 년 전
부모
커밋
e0ec7d7b96

+ 10 - 5
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/AuthenticationFailureListener.java

@@ -3,6 +3,7 @@ package com.ym.mec.auth.core.handler;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserLogin;
+import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysUserLoginService;
 import com.ym.mec.auth.service.SysUserService;
 import org.slf4j.Logger;
@@ -31,11 +32,15 @@ public class AuthenticationFailureListener implements ApplicationListener<Authen
     public void onApplicationEvent(AuthenticationFailureBadCredentialsEvent authenticationFailureBadCredentialsEvent) {
         Authentication authentication = authenticationFailureBadCredentialsEvent.getAuthentication();
         HashMap<String,String> hashMap = objectMapper.convertValue(authentication.getDetails(), HashMap.class);
-        String account = authentication.getPrincipal().toString();
-        SysUser sysUser = sysUserService.queryByUsername(account);
+        String username = authentication.getPrincipal().toString();
         Date date = new Date();
-        if(sysUser == null){
-            sysUser = sysUserService.queryByPhone(account);
+        SysUser sysUser = null;
+        if(username.split(":").length > 1){
+            if(username.startsWith(SecurityConstants.USERNAME_PRINCIPAL_PREFIX)){
+                sysUser = sysUserService.queryByUsername(username.split(":")[1]);
+            }else {
+                sysUser = sysUserService.queryByPhone(username.split(":")[1]);
+            }
         }
         if(sysUser != null){
             SysUserLogin userLogin = sysUserLoginService.findLoginByUserId(sysUser.getUserId());
@@ -61,7 +66,7 @@ public class AuthenticationFailureListener implements ApplicationListener<Authen
             }
             logger.info("用户:{} 登录失败", sysUser.getPhone());
         }else {
-            logger.info("用户:{} 不存在", account);
+            logger.info("用户:{} 不存在", username);
         }
     }
 }

+ 7 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserLogin;
 import com.ym.mec.auth.api.entity.SysUserLoginLog;
+import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysUserLoginLogService;
 import com.ym.mec.auth.service.SysUserLoginService;
 import com.ym.mec.auth.service.SysUserService;
@@ -37,9 +38,12 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 	public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication){
 		logger.info("用户:{} 登录成功", authentication.getPrincipal());
 		HashMap<String,String> hashMap = objectMapper.convertValue(authentication.getPrincipal(), HashMap.class);
-		SysUser sysUser = sysUserService.queryByUsername(hashMap.get("username"));
-		if(sysUser == null){
-			sysUser = sysUserService.queryByPhone(hashMap.get("username"));
+		String username = hashMap.get("username");
+		SysUser sysUser;
+		if(username.startsWith(SecurityConstants.USERNAME_PRINCIPAL_PREFIX)){
+			sysUser = sysUserService.queryByUsername(username.split(":")[1]);
+		}else {
+			sysUser = sysUserService.queryByPhone(username.split(":")[1]);
 		}
 		Date date = new Date();
 		//修改添加登录信息