Ребят, сейчас поймал себя на мысли, что в моем одном проекте дыра в системе ролей и доступов.
У пользователя есть доступы. Для каждого действия проверяется наличие соответствующего доступа. Но это не достаточная проверка. Надо еще проверять и на наличие пользователя в той или иной команде...
Но тут есть одна загвоздка. Пользователь, теоретически, может состоять в нескольких командах. В одной у него роль с правами выше, чем в другой. При проверки права на действие сперва проводится проверка наличия пользователя в команде, а затем наличие доступа. Вот только доступ может быть от другой роли в другой команде.
Что подскажите? Как такой исклюючать? Прривязывать роли не к пользователю, а к отношению пользователя и команды? Или какие вообще есть практики?
@cauf
"В одной у него роль с правами выше, чем в другой." - это на административном уровне?
@inqbrc эээээ... Что?
@cauf
Как реализованы 2 разных набора прав у одного пользователя в одной системе?
@inqbrc Да в том то и дело, что никак на данный момент. У меня коллизия образовалась. Права на все команды - одни и те же.
@cauf
Профиль прав доступа. Содержит в себе команду, набор прав доступа к действиям. Доступы к действиям разруливаются не чистыми правами, а профилями.
Дальше, либо в профили добавляются пользователи, которые имеют доступ к этим правам, либо в пользователе указываются профили прав.
Либо по классике - доступы к действиям разруливаются правами и командами, но у сотрудника несколько учеток с разными правами и командами.