728x90
반응형
BoardInterceptor.java
package interceptor;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import logic.User;
public class BoardInterceptor extends HandlerInterceptorAdapter {
@Override //BoardController.getBoard() 메서드 실행 전 호출되는 메서드
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
HttpSession session = request.getSession();
String boardid = (String)session.getAttribute("boardid"); //게시판 종류
User login = (User)session.getAttribute("loginUser"); //로그인 정보
if(boardid != null && boardid.equals("1")) {
if(login == null || !login.getUserid().equals("admin")) {
String msg = URLEncoder.encode("관리자만 등록 가능합니다.", "UTF-8");
response.sendRedirect(request.getContextPath() + "/board/list?boardid=" + boardid + "&msg=" + msg);
return false; //BoardController.getBoard() 메서드 실행 안함.
}
}
else {
if(login == null) {
String msg = URLEncoder.encode("로그인이 필요합니다.", "UTF-8");
response.sendRedirect(request.getContextPath() + "/user/login?msg="+ msg);
return false;
}
}
return true; ////BoardController.getBoard() 메서드 실행.
}
}
728x90
반응형
'study > Spring' 카테고리의 다른 글
[Spring] 24. Spring (게시물 상세보기[detail.jsp]) (0) | 2022.05.16 |
---|---|
[Spring] 24. Spring (게시글 관련 Exception[BoardException.java]) (0) | 2022.05.16 |
[Spring] 24. Spring (게시글 작성[write.jsp]) (0) | 2022.05.13 |
[Spring] 24. Spring (게시판[Board.java, BoardDao.java, BoardController.java, list.jsp]) (0) | 2022.05.13 |
[Spring] 24. Spring (아이디찾기, 비밀번호찾기[idsearch.jsp, pwsearch.jsp, search.jsp]) (0) | 2022.05.12 |