상단메뉴에 로그인, 로그아웃 처리

JEONG SUJIN·2022년 12월 30일
0
  • 상단메뉴가 로그인 전 후에 달라지는 부분 처리
  • 로그아웃 기능 처리

현재는 로그인을 하지 않아도 정보수정, 로그아웃 부분이 나오는걸 로그인을 했을경우 나오도록 변경

ServletAppContext.java

로그인 유저 정보가 들어있는 객체를 주입받아 인터셉터의 생성자에 주입
(메뉴 상단부분은 모든 요청시 필요하므로 모든 요청시 로그인상태를 처리할 수 있다)


@Resource(name = "loginUserBean")
	private LoginUserBean loginUserBean;

//loginUserBean 추가
MenuInterceptor menuInterceptor = new MenuInterceptor(menuService, loginUserBean);
private LoginUserBean loginUserBean;

public MenuInterceptor(MenuService menuService, LoginUserBean loginUserBean) {
		this.menuService = menuService;
		this.loginUserBean = loginUserBean;
	}
 
 
 //생략
 
 request.setAttribute("loginUserBean", loginUserBean); //추가
 

로그인상태 -> 정보수정, 로그아웃
로그아웃상태 -> 로그인, 회원가입

   <ul class="navbar-nav ml-auto">
        
        <c:choose>
        
       <c:when test="${loginUserBean.userLogin ==  true}">          
           <li class="nav-item">
            <a href="${root }user/modify" class="nav-link">정보수정</a>
          </li>
          <li class="nav-item">
            <a href="${root }user/logout" class="nav-link">로그아웃</a>
          </li>
        </c:when>
        
        <c:otherwise>
           <li class="nav-item">
            <a href="${root}user/login" class="nav-link">로그인</a>
          </li>
          <li class="nav-item">
            <a href="${root }user/join" class="nav-link">회원가입</a>
          </li>
        </c:otherwise>
        
           </c:choose>
        </ul>
        
        

로그아웃 처리

UserController.java

@GetMapping("/logout")
	public String logout() {
		loginUserBean.setUserLogin(false);
		return "user/logout";
	}
	
profile
기록하기

0개의 댓글