package com.panzhihua.auth.handel; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.LockedException; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.stereotype.Component; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.ResultUtil; import lombok.extern.slf4j.Slf4j; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 登录失败 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-11-24 16:02 **/ @Slf4j @Component public class UserLoginFailureHandler implements AuthenticationFailureHandler { /** * 登录失败返回结果 * * @Author youcong */ @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) { log.info("登录失败"); // 这些对于操作的处理类可以根据不同异常进行不同处理 if (exception instanceof UsernameNotFoundException) { ResultUtil.responseJson(response, R.fail("该账号不存在")); } if (exception instanceof LockedException) { ResultUtil.responseJson(response, R.fail("用户被冻结")); } if (exception instanceof BadCredentialsException) { ResultUtil.responseJson(response, R.fail("密码错误")); } ResultUtil.responseJson(response, R.fail("登录失败")); } }