summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java
diff options
context:
space:
mode:
authormavlushechka <mavlushechka@gmail.com>2021-11-12 21:31:54 +0500
committermavlushechka <mavlushechka@gmail.com>2021-11-12 21:31:54 +0500
commit8d284e1690faba5c0f834a07bac81e1ee00d515f (patch)
treedd587e71f8c091c1262a84cd2c7e1dd7cd7e4226 /src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java
Initializing
Diffstat (limited to 'src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java')
-rwxr-xr-xsrc/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java b/src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java
new file mode 100755
index 0000000..2239e91
--- /dev/null
+++ b/src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java
@@ -0,0 +1,25 @@
+package com.mavlushechka.studentdatabase.config;
+
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
+ @Override
+ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException {
+ response.setStatus(HttpServletResponse.SC_OK);
+
+ for (GrantedAuthority auth : authentication.getAuthorities()) {
+ switch (auth.getAuthority()) {
+ case "USER" -> response.sendRedirect("/");
+ case "ADMIN" -> response.sendRedirect("/admin-panel/information/students");
+ }
+ }
+ }
+}