| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |