From f721ee13dc5f95f607bb25b09f73cae6a7123ed9 Mon Sep 17 00:00:00 2001
From: DESKTOP-71BH0QO\L、ming <172680469@qq.com>
Date: 星期六, 17 四月 2021 17:56:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserLoginFailureHandler.java |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserLoginFailureHandler.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserLoginFailureHandler.java
new file mode 100644
index 0000000..7bc3abe
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserLoginFailureHandler.java
@@ -0,0 +1,44 @@
+package com.panzhihua.auth.handel;
+
+import com.panzhihua.common.utlis.ResultUtil;
+import com.panzhihua.common.model.vos.R;
+import lombok.extern.slf4j.Slf4j;
+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 javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @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("登录失败"));
+    }
+}

--
Gitblit v1.7.1