본문 바로가기

[Database] 유저별로 메뉴 다르게 보이기

곰곰킴 2021. 6. 28.

개요

유저 별로 사이트의 메뉴가 다르게 나오기 위해 데이터베이스를 구축한다. 해당 프로그램에선 2 depth의 메뉴 리스트를 만들 예정이다.

구현

테이블은 2개가 필요하다.

1. 메뉴 테이블

2. 유저 별 사용 가능한 메뉴 표시 테이블

1. 메뉴 테이블

칼럼 정보

IDX NAME NAME_KR PATH PARENT_IDX
pk 영어이름(키로 사용) 한글이름(UI로 사용) 프론트 경로 상단 태그

IDX : PK

NAME : 메뉴 탭의 영어 이름으로써 프런트에서 키로 연결하기 위해 필요하다.

NAME_KR : 메뉴 탭의 한글 이름으로써 프론트에서 UI로 나타내기 위해 필요하다.

PATH : 프론트에서 사용하는 실제 경로이다.

PARENT_IDX : 상위 메뉴의 IDX를 나타낸다. SELF JOIN을 통하여 메뉴를 연결할 예정이다

2. 유저 별 사용 가능한 메뉴 표시 테이블

칼럼 정보

USER_IDX MENU_IDX AUTH
유저 IDX(외래키) 메뉴 IDX(외래키) 사용 가능 여부 1 / 0

USER_IDX : 유저 테이블의 IDX를 외래 키로 가진 것 - 유저 별 메뉴 사용 여부 표시 위함

MENU_IDX : 메뉴 테이블의 IDX를 외래키로 가진 것

AUTH : 해당 유저가 해당 메뉴를 사용할 수 있는지 1과 0으로 나타낸 것 (1: 사용 / 0: 사용불가)

반응형

사용

메뉴 테이블을 SELF JOIN 한 후 유저 별 사용 가능 테이블을 INNER JOIN 하여

유저 별로 AUTH가 1인 메뉴 및 서브메뉴를 mybatis를 통해 불러올 예정이다. 

mybatis 관련 참고

2021.06.29 - [Spring] - [Spring] 유저별로 메뉴 다르게 보이기

 

[Spring] 유저별로 메뉴 다르게 보이기

데이터 베이스 구축은 해당 게시물을 참조한다. 2021.06.28 - [Database] - [Database] 유저별로 메뉴 다르게 보이기 [Database] 유저별로 메뉴 다르게 보이기 개요 유저 별로 사이트의 메뉴가 다르게 나오기

gomgomkim.tistory.com

 

댓글