Ребят, сейчас поймал себя на мысли, что в моем одном проекте дыра в системе ролей и доступов.

У пользователя есть доступы. Для каждого действия проверяется наличие соответствующего доступа. Но это не достаточная проверка. Надо еще проверять и на наличие пользователя в той или иной команде...

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

Что подскажите? Как такой исклюючать? Прривязывать роли не к пользователю, а к отношению пользователя и команды? Или какие вообще есть практики?

Follow

@cauf
"В одной у него роль с правами выше, чем в другой." - это на административном уровне?

@cauf
Как реализованы 2 разных набора прав у одного пользователя в одной системе?

@inqbrc @cauf это в линуксе называется suid бит и sudo :)

@inqbrc Да в том то и дело, что никак на данный момент. У меня коллизия образовалась. Права на все команды - одни и те же.

@cauf
Профиль прав доступа. Содержит в себе команду, набор прав доступа к действиям. Доступы к действиям разруливаются не чистыми правами, а профилями.

Дальше, либо в профили добавляются пользователи, которые имеют доступ к этим правам, либо в пользователе указываются профили прав.

Либо по классике - доступы к действиям разруливаются правами и командами, но у сотрудника несколько учеток с разными правами и командами.

@inqbrc профили прав доступа звучат как роли. Чуть подробнее со схемой описал здесь

lor.sh/@cauf/11207013663286928

@cauf
Профиль - абстракция более высокого уровня, чем роль. Он может группировать роль/набор ролей и команду. В 1С это не так сложно организовать. В свой системе тебе придётся самому подумать над реализацией.

А задачу твою заберу на собеседования. Пусть кандидаты подумают😁

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.