Spring / thymeleaf / session 사용하기
사용자 권한에 따라 네비게이션 바를 구분지으려고 함.

예를 들어 관리자라면 인사 등록과 인사 정보가 표시하고, 일반 사원이라면 근태 관리만 표시하게 하려고 했다.
로그인 한 사번이 12번이라면 관리자 , 33번이라면 사원으로 테스트 했다.


일단 메인 화면의 네비게이션 바는, 별도의 컨트롤러를 거치지 않으므로 메인 컨트롤러에서 바로 쏴줄 목적이었음.
session으로 받아온 데이터들을 get 메서드를 이용하여 꺼내서 변수에 담아 주었다.
그리고 타임리프 문법을 통해 관리자 권한이 1이면 보여주고, 1이 아니라면 안 보이게 설정하였다.

첫번째 사진은 관리자 권한으로 확인한 것이고, 추가 확인을 위해 사원 권한으로 접근을 해보았다.

사원은 권한이 0이기 때문에 잘 가려져있다 하지만... 문제는 다른 페이지를 이동하고 부터였다.
관리자 권한으로 다시 로그인 하고 다른 페이지를 입장해보니(예를들어 인사정보) 관리자 입장에서 보이던
인사정보 / 인사 등록 란이 사라진 것이 아닌가.

결론부터 말하자면 session으로 꺼내지 않고 변수에 담긴 값으로 바로 꺼내었기 때문!!
처음 roleAdmin 변수를 구분할 수 있었던 이유는, 해당 페이지에서 roleAdmin 변수를 직접적으로 설정했기 때문,
즉, 메인 컨트롤러에서 roleAdmin 값을 세션에서 가져와서 모델에 추가한 후, 뷰에서 이를 사용하였다.
하지만 다른 페이지로 넘어갔을 때 roleAdmin 변수를 세션에서 직접 꺼내지 않고, 단순히 변수를 사용하려고 하면, 해당 페이지에서는 roleAdmin 변수가 정의되어 있지 않기 때문에 구분이 되지 않는 것!!
너무도 당연한 이유지만 잊지 않기 위해 오늘도 메모를 한다...

올바른 코드로 수정 진행.

권한별로 잘 나온다.