У меня очень простой вопрос о безопасности Spring, однако этот вопрос можно обобщить для любой схемы авторизации:
Должна ли группа иметь один орган, а пользователь может быть членом нескольких групп?
ИЛИ ЖЕ
Группа может иметь несколько прав доступа, а пользователь может быть назначен только одной группе?
Мне нужно, чтобы у пользователя были следующие три полномочия: ROLE_ADMIN, ROLE_MANAGER, ROLE_EMPLOYEE.
Следующие структуры таблицы иллюстрируют вопрос более подробно:
Маршрут 1.
GROUP TABLE
===========
ID, NAME
1, 'Admins'
2, 'Managers'
3, 'Employees'
GROUP_AUTHORITY TABLE
=====================
GROUP_ID, AUTHORITY
1, 'ROLE_ADMIN'
1, 'ROLE_MANAGER'
1, 'ROLE_EMPLOYEE'
2, 'ROLE_MANAGER'
2, 'ROLE_EMPLOYEE'
3, 'ROLE_EMPLOYEE'
GROUP_MEMBER TABLE
==================
GROUP_ID, USERS_ID
1, 1
USERS TABLE
===========
USERS_ID, NAME
1, 'John Admin'
// -------------------------------------------
Маршрут 2:
GROUP TABLE
===========
ID, NAME
1, 'Admins'
2, 'Managers'
3, 'Employees'
GROUP_AUTHORITY TABLE
=====================
GROUP_ID, AUTHORITY
1, 'ROLE_ADMIN'
2, 'ROLE_MANAGER'
3, 'ROLE_EMPLOYEE'
GROUP_MEMBER TABLE
==================
GROUP_ID, USERS_ID
1, 1
2, 1
3, 1
USERS TABLE
===========
USERS_ID, NAME
1, 'John Admin'
Буду признателен за ввод.