I T H

[프로젝트] 14. 시큐리티 tag 라이브러리 - 관리자 메뉴 처리 (Week 3) 본문

Spring ArtGallery Project

[프로젝트] 14. 시큐리티 tag 라이브러리 - 관리자 메뉴 처리 (Week 3)

thdev 2024. 1. 23. 11:14

메인페이지 개발에 앞서

전 시간까지 진행한 관리자용 메뉴 - 상품 등록 메뉴를 

관리자 권한으로 로그인한 경우에만 화면에 노출하고자 함.

 

먼저 관리자 권한으로 가입한 계정이 없으므로 

Update 쿼리를 통해 특정 테스트 계정에 관리자 권한을 부여 (AUTH_TYPE = 2 가 관리자 권한으로 설정한 상태)

UPDATE ART.ART_USER SET AUTH_TYPE = '2' WHERE USER_ID = 'test'

 

Spring Security Tag Library 를 이용 

pom.xml 파일에 해당 라이브러리에 대한 의존성을 작성하고

<!-- taglib -->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>${org.spring.security.version}</version>
		</dependency>

 

적용하고자 하는 jsp 파일에 태그를 삽입하여 사용.

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>

 

관리자 계정(ADMIN_ROLE) 에게만 보여줄 메뉴를 구성

<nav class="amado-nav">
        <ul>
            <li class="active"><a href="/">메인</a></li>
            <li><a href="/prod">상품</a></li>
            <li><a href="/board">게시판</a></li>
            <li><a href="/cart">장바구니</a></li>
            <li><a href="/mypage">마이페이지</a></li>
            <sec:authorize access="hasRole('ROLE_ADMIN')">
            <li><a href="/prodAdm">상품등록페이지</a></li>
           	</sec:authorize>
        </ul>
    </nav>

 

 

관리자로 로그인 시 노출되는 페이지 "상품등록페이지"