현재 로그아웃 된 상태에도 정보 수정페이지에 접근 가능하도록 해놨음.
package com.demo.interceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import com.demo.domain.LoginUser;
import com.demo.service.MenuService;
public class CheckLoginInterceptor implements HandlerInterceptor{
@Resource(name = "sessionUser")
private LoginUser sessionUser;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// 인터셉터는 요청에 먼저 실행되어 작업을 하고 만약 리턴이 false가 되면 요청을 취소한다.
if(sessionUser.isUserlogin() == false) {
request.setAttribute("sessionUser", sessionUser);
String contetxPath = request.getContextPath();
response.sendRedirect(contetxPath + "/user/not_login");
return false; //요청한 주소를 취소
}
return true;
}
}
servlet-context에서 인터셉터 등록을 해야줘야함
<!--인터셉터 객체 등록 -->
<beans:bean id="MenuInterceptor"
class="com.demo.interceptor.MenuInterceptor">
<beans:constructor-arg>
<beans:bean class="com.demo.service.MenuService"></beans:bean>
</beans:constructor-arg>
</beans:bean>
<beans:bean id="CheckLoginInterceptor"
class="com.demo.interceptor.CheckLoginInterceptor" />
<!--인터셉터 설정 -->
<interceptors>
<interceptor>
<mapping path="/" />
<mapping path="/board/*" />
<mapping path="/user/*" />
<beans:ref bean="MenuInterceptor" />
</interceptor>
<interceptor>
<mapping path="/user/modify" />
<beans:ref bean="CheckLoginInterceptor" />
</interceptor>
</interceptors>
로그인 시에는 뜸
인터셉터 설정 변경
<interceptor>
<mapping path="/user/modify" />
<mapping path="/user/logout" />
<mapping path="/board/*" />
<exclude-mapping path="/board/main"/>
<beans:ref bean="CheckLoginInterceptor" />
</interceptor>
board창에 main페이지만 제외하고 board로 시작하는 모든 창은 로그인 시 가능
'BACKEND > Spring' 카테고리의 다른 글
게시판 만들기 2 - 정보 수정 하기 (0) | 2023.10.31 |
---|---|
게시판 만들기 2 - 정보 수정 페이지에서 정보 불러오기 (0) | 2023.10.30 |
게시판 만들기 2 - 상단 화면에 로그인/로그아웃 표시 (0) | 2023.10.30 |
게시판 만들기 2 - 로그인 처리 (0) | 2023.10.30 |
게시판 만들기 2 - 아이디 중복 검사 (0) | 2023.10.27 |