role 저장 위치 통일
admin, user 같은 역할 값을 세션, 토큰, DB 모델에서 같은 의미로 유지해 판정 기준을 맞춥니다.
사용자 역할은 로그인 결과에 붙는 데이터이며 화면 노출과 라우트 접근 모두에서 같은 기준으로 읽어야 합니다.
admin, user 같은 역할 값을 세션, 토큰, DB 모델에서 같은 의미로 유지해 판정 기준을 맞춥니다.
페이지 렌더링 전에 role을 읽어 관리자 콘텐츠를 반환할지 리다이렉트할지 결정합니다.
/admin 같은 경로를 matcher로 묶고 세션이 없거나 권한이 낮으면 초기에 돌려보냅니다.
버튼 숨김은 화면 편의일 뿐이므로 서버 권한 확인과 API 검증을 별도로 둡니다.
데이터베이스의 role이 session.user로 전달되지 않으면 서버와 클라이언트의 판단이 어긋납니다.