У меня есть такая настройка базы данных (я знаю, что это не лучшая настройка, но я не в силах ее изменить :-(
В основном есть 3 уровня пользователей - Администратор - Менеджеры - Персонал
Несколько замечаний: -Каждый сотрудник принадлежит к отделу -Если в таблице менеджеров отображается код входа в систему персонала, он является менеджером, в противном случае он является сотрудником -Если код входа в систему персонала отображается в таблице менеджеров, а для параметра SystemAdmin установлено значение 1, они администратор
Как мне настроить ACL/Auth для этого? Любые идеи?
CREATE TABLE tblStaff
( StaffID
int(11) NOT NULL auto_increment, dept_id
varchar(5) по умолчанию NULL, logon_code
char(10) NOT NULL, forename
char(50) NOT NULL, surname
char(50) NOT NULL, PRIMARY KEY (StaffID
) , ) ;
CREATE TABLE tblManager
( ManagerID
varchar(15) NOT NULL, logon_code
varchar(15) NOT NULL, dept_id
varchar(5) NOT NULL, SystemAdmin
tinyint(1) unsigned default NULL, PRIMARY KEY (ManagerID
) );
CREATE TABLE tblDepartment
( dept_id
varchar(5) NOT NULL, sect_id
varchar(50) по умолчанию NULL, subsect_id
varchar(50) по умолчанию NULL, sect_name
varchar(50) по умолчанию NULL, sect_abbr
varchar(50) по умолчанию NULL, subsect_name
varchar(50) по умолчанию NULL, ПЕРВИЧНЫЙ КЛЮЧ (dept_id
) );