interceptor/

EditPageInterceptor.java

package com.example.pkscl.Interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;


public class EditPageInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse
    response, Object handler) throws Exception {

        HttpSession session = request.getSession(false);

        // ํ•™์ƒํšŒ์žฅ์ด ์•„๋‹ˆ๋ฉด /main์œผ๋กœ ์ด๋™
        if(!session.getAttribute("position").equals("president")) {
            response.sendRedirect("/main");
            return false;
        }
        
        return true;
    }
}

LoginCheckInterceptor.java

package com.example.pkscl.Interceptor;

import java.net.HttpURLConnection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class LoginCheckInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse
    response, Object handler) throws Exception {

        String requestURI = request.getRequestURI();
        log.info("์ธ์ฆ ์ฒดํฌ ์ธํ„ฐ์…‰ํ„ฐ ์‹คํ–‰ {}", requestURI);
        HttpSession session = request.getSession(false);

        // ๋ฏธ์ธ์ฆ ์‚ฌ์šฉ์ž ์š”์ฒญ์‹œ
        
        if (session == null || session.getAttribute("position") == null) {
            log.info("๋ฏธ์ธ์ฆ ์‚ฌ์šฉ์ž ์š”์ฒญ");
            
            // 401 Unauthorized ์‘๋‹ต
            response.setStatus(HttpURLConnection.HTTP_UNAUTHORIZED);
            
            // ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™
            response.sendRedirect("/");
            return false;
        }

        return true;
    }
}

LoginPageinterceptor.java

package com.example.pkscl.Interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;


public class LoginPageInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse
    response, Object handler) throws Exception {

        HttpSession session = request.getSession(false);

        // ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž๋Š” ์žฌ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€
        if(session != null && session.getAttribute("position") != null) {
            response.sendRedirect("/main");
            return false;
        }
        
        return true;
    }
}

Last updated