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