Я работаю над системой, которая будет использоваться на международном уровне.У меня достаточно стандартный доступ на основе разрешений, который я добавлю.
- Разрешения предоставляют доступ к различным функциям
- Роли - это наборы разрешений, назначенных пользователям
Моя проблема в том, что есть дополнительное измерение, с которым я не знаю, как работать.
В принципе, система будет использоваться в разных странах.В каждой стране может быть несколько офисов.Если у кого-то есть доступ к стране, он должен иметь доступ ко всем офисам, но если у него есть доступ к офису, у него не должно быть доступа к стране.
Если усложнить задачу, может быть несколько уровней офисов,(например: офис содержит несколько подотделений).
Наконец, кто-то может иметь некоторый доступ ко всей стране, но больше доступа к одному конкретному офису.
Я работал в прошломс такими системами, с которыми было невероятно грязно работать и которые не хотят совершать одну и ту же ошибку.
Есть ли какие-нибудь хорошие практики / чтения, которые вы рекомендуете?Как бы вы внедрили такую систему?