summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/studentdatabase/config/CustomAuthenticationSuccessHandler.java
blob: 2239e915fb4c6b4cb4a7a649b45ec81ff182735e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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");
            }
        }
    }
}