Я простую систему в PHP и codeigniter, и вам нужен простой, но лучший способ управлять пользователями и их доступом к системе. Поэтому после некоторого поиска я нашел интересные темы о контроле доступа, но я все еще сомневаюсь, если это хороший подход или нет.Это плохой дизайн для базы данных контроля доступа?
Таблицы прав и прав пользователей - это то, что некоторые пользователи должны иметь различный доступ, который не определен какой-либо ролью. и user_permission всегда будет иметь приоритет над role_permission. Например, пользователь имеет роль, которая имеет доступ к исключению пользователя, но администратор создал user_perm, запрещающий исключение пользователя, поэтому этот конкретный пользователь не сможет удалять пользователей.
Любая помощь будет оценена по достоинству.
CREATE TABLE users ( id PRIMARY KEY, username, password, role_id, first_name, last_name, ... ); CREATE TABLE roles ( id PRIMARY KEY, name ); CREATE TABLE actions ( id PRIMARY KEY, name, ); CREATE TABLE role_permission ( id PRIMARY KEY, action_id, permission BOOLEAN ); CREATE TABLE user_permission ( id serial NOT NULL PRIMARY KEY, action_id, permission BOOLEAN );
изменен, роль_id теперь находится в пользовательской таблице. –
хорошо .. я думаю, что все в порядке ... его на u, как реализовать и держать проверку каждого пользователя во время выполнения конкретного действия ... –