users
----------
id | name | password
----------
1 | John | 1234
2 | Jane | abcd
3 | Mike | efgh
roles
----------
id | name
----------
1 | admin
2 | manager
3 | employee
permissions
---------------------
id | name | menu_id
---------------------
1 | view_reports | 1
2 | edit_users | 2
3 | manage_tasks | 3
menus
---------------------
id | name | parent_id
---------------------
1 | Reports | null
2 | User | null
3 | Manage Task | null
4 | Sales | 1
5 | Marketing | 1
6 | Add User | 2
7 | Remove User | 2
user_role
----------
user_id | role_id
----------
1 | 1
2 | 2
3 | 3
role_permission
---------------------
role_id | permission_id
---------------------
1 | 1
2 | 2
3 | 3
로그인 후 해당 사용자에게 맞는 메뉴를 호출하기 위해서는 다음과 같은 테이블을 조회해야 합니다.
User 테이블: 로그인한 사용자의 정보를 조회합니다.
User_Roles 테이블: 로그인한 사용자의 역할(role) 정보를 조회합니다.
Role_Permissions 테이블: 로그인한 사용자의 역할(role)에 대한 권한(permission) 정보를 조회합니다.
Menu_Permissions 테이블: 로그인한 사용자의 권한(permission)에 대한 메뉴(menu) 정보를 조회합니다.
조회 과정은 다음과 같습니다.
User 테이블에서 로그인한 사용자의 정보를 조회합니다. 이때, 사용자 아이디(user_id)를 기준으로 조회합니다.
User_Roles 테이블에서 로그인한 사용자의 역할(role) 정보를 조회합니다. 이때, user_id를 기준으로 조회합니다.
Role_Permissions 테이블에서 로그인한 사용자의 역할(role)에 대한 권한(permission) 정보를 조회합니다. 이때, role_id를 기준으로 조회합니다.
Menu_Permissions 테이블에서 로그인한 사용자의 권한(permission)에 대한 메뉴(menu) 정보를 조회합니다. 이때, permission_id를 기준으로 조회합니다.
위의 과정을 거치면, 로그인한 사용자에게 허용된 메뉴 항목을 조회할 수 있습니다. 이후, 해당 메뉴 항목을 사용자에게 표시하면 됩니다.
'컴퓨터 > MariaDB' 카테고리의 다른 글
두 테이블에서 세로 찾기 후 업데이트 vlookup + update (0) | 2023.11.15 |
---|---|
MariaDB 암호화 (0) | 2023.04.24 |
MariaDB 외래키 FOREIGN_KEY (0) | 2023.04.10 |
MariaDB 컬럼명 조회하기 (2) | 2023.03.16 |
MariaDB FORMAT 천 단위 쉼표 찍기 (0) | 2022.12.22 |