From 54c40c58a5842651d74eb6a62830080c14ccf881 Mon Sep 17 00:00:00 2001
From: zhongrijian <646384940@qq.com>
Date: Mon, 03 Jun 2024 14:05:03 +0800
Subject: [PATCH] 登录失败配置调整

---
 blade-auth/src/main/java/org/springblade/auth/config/SecurityConfiguration.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/blade-auth/src/main/java/org/springblade/auth/config/SecurityConfiguration.java b/blade-auth/src/main/java/org/springblade/auth/config/SecurityConfiguration.java
index 44440ef..6b84157 100644
--- a/blade-auth/src/main/java/org/springblade/auth/config/SecurityConfiguration.java
+++ b/blade-auth/src/main/java/org/springblade/auth/config/SecurityConfiguration.java
@@ -18,14 +18,18 @@
 
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import org.springblade.auth.constant.Oauth2Constants;
 import org.springblade.auth.support.BladePasswordEncoderFactories;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.builders.WebSecurity;
 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
 import org.springframework.security.crypto.password.PasswordEncoder;
+
+import javax.annotation.Resource;
 
 /**
  * Security配置
@@ -34,7 +38,11 @@
  */
 @Configuration(proxyBeanMethods = false)
 @AllArgsConstructor
+@Order(1)
 public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
+
+	@Resource
+	private Oauth2Constants oauth2Constants;
 
 	@Bean
 	@Override
@@ -52,8 +60,18 @@
 	@SneakyThrows
 	protected void configure(HttpSecurity http) {
 		http.headers().frameOptions().disable();
-		http.httpBasic().and().csrf().disable();
-		http.formLogin().loginPage("/oauth/login").loginProcessingUrl("/oauth/form");
+		http.csrf().disable();
+		http.formLogin()
+			//自定义认证成功跳转
+			.successHandler(new CustomAuthenticationSuccessHandler(oauth2Constants.getAuthorizeUrl()))
+			.loginPage(oauth2Constants.getLoginPage())
+			.loginProcessingUrl(oauth2Constants.getLoginProcessingUrl())
+			.failureHandler(new CustomAuthenticationFailureHandler())
+		;
+		// 认证失败自定义登录页跳转
+		http.exceptionHandling()
+			.authenticationEntryPoint(new CustomAuthenticationEntryPoint(oauth2Constants.getLoginPage()));
+
 	}
 
 	@Override

--
Gitblit v1.9.3