Схема безопасности сливается с бизнесом - PullRequest
0 голосов
/ 01 ноября 2011

Я делаю аутентификацию / авторизацию общим способом, но у меня есть проблема, некоторые поведения системы зависят от роли пользователя, и один пользователь может иметь более одной роли.

Дело не только в том, что пользователь может / не может выполнять какое-то действие, но и в том, что само действие изменяется для каждой роли пользователя, существует множество метаданных, связанных с каждой ролью, и они не могут понять, как сохранить единство.

Если я объединю безопасность с бизнесом, связь будет очень высокой, и все станет грязным, а если хранить отдельные таблицы для каждого, я получу некоторые сущности в два раза, и я тоже получу грязный.

Одна небольшая часть метаданных:

Одно рабочее место, если младший может построить только базовую часть для одной работы только для одного клиента или отказаться от основной работы, запущенной другим младшим в том же клиенте

Если мастер может построить новую базовую деталь и исправить / управлять зданием, сделанным всеми младшими из одного клиента.

Если менеджер может сделать все для всех клиентов и контролировать основную работу.

Для каждой работы один младший должен выбрать одного связанного мастера, и один мастер должен выбрать одного менеджера, когда один младший получает оставленную работу, он становится владельцем, но когда мастер исправляет одну работу, владелец-создатель сохраняет право собственности.

1 Ответ

0 голосов
/ 01 ноября 2011

Создайте одну таблицу для каждой сущности, пока не достигнете дерева, каждый раз, когда появляется одна новая роль, создайте новую таблицу, а затем используйте эту структуру для управления системой.Держите пользователей в таблицах пользователей, а сотрудников - в таблице сотрудников, каждый пользователь имеет один пароль и логин, а после должен также войти с паролем сотрудников и логином.Это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...