From aa8b37b3836180ab0888fb806f46776cae0a5302 Mon Sep 17 00:00:00 2001
From: tanqidi <1330884822@qq.com>
Date: Mon, 2 Jun 2025 02:00:00 +0800
Subject: [PATCH] init
---
.idea/.gitignore | 8 +++++++
.idea/compiler.xml | 22 +++++++++++++++++++
.idea/encodings.xml | 6 +++++
.idea/jarRepositories.xml | 20 +++++++++++++++++
.idea/misc.xml | 12 ++++++++++
.idea/vcs.xml | 6 +++++
.../config/OAuth2LoginSecurityConfig.java | 16 +++++++++-----
7 files changed, 84 insertions(+), 6 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/vcs.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..0fa0509
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..f0f8287
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/tanqidi/survey/config/OAuth2LoginSecurityConfig.java b/src/main/java/com/tanqidi/survey/config/OAuth2LoginSecurityConfig.java
index 40fd8c9..6f6ddba 100644
--- a/src/main/java/com/tanqidi/survey/config/OAuth2LoginSecurityConfig.java
+++ b/src/main/java/com/tanqidi/survey/config/OAuth2LoginSecurityConfig.java
@@ -56,13 +56,17 @@ public class OAuth2LoginSecurityConfig {
.oauth2Login(oauth2 -> oauth2 //
.userInfoEndpoint(userInfo -> userInfo //
.oidcUserService(this.oidcUserService())))
- .csrf(csrf -> csrf //
- // https://docs.spring.io/spring-security/reference/servlet/exploits/csrf.html#csrf-token-repository-cookie
+ .csrf(csrf -> csrf
.ignoringRequestMatchers("/logout", "/api"))
- .logout(logout -> logout //
- .addLogoutHandler(new KeycloakLogoutHandler(restTemplateBuilder.build())) //
- // https://docs.spring.io/spring-security/reference/servlet/authentication/logout.html#clear-all-site-data
- .addLogoutHandler(new HeaderWriterLogoutHandler(new ClearSiteDataHeaderWriter(Directive.ALL))));
+ .logout(logout -> logout
+ .addLogoutHandler(new KeycloakLogoutHandler(restTemplateBuilder.build()))
+ .addLogoutHandler(new HeaderWriterLogoutHandler(new ClearSiteDataHeaderWriter(Directive.ALL))))
+ .exceptionHandling(handling -> handling
+ .accessDeniedHandler((request, response, exception) -> {
+ response.setContentType("application/json;charset=UTF-8");
+ response.setStatus(HttpServletResponse.SC_FORBIDDEN);
+ response.getWriter().write("{\"code\":403,\"message\":\"没有权限访问该资源\",\"data\":null}");
+ }));
return http.build();
}