我有一个这样的数据库设置(我知道这不是最好的设置,但我无法更改它:-(
基本上有 3 个级别的用户 - 管理员 - 经理 - 员工
几点注意事项: - 每个员工都属于部门 - 如果员工登录代码出现在经理表中,则他们是经理,否则他们是员工 - 如果员工登录代码出现在经理表中并且 SystemAdmin 设置为 1,他们是管理员
我到底该如何为此设置 ACL/Auth?有任何想法吗?
CREATE TABLE tblStaff
(
StaffID
int(11) NOT NULL auto_increment,
dept_id
varchar(5) default NULL,
logon_code
char(10) NOT NULL,
forename
char(50) NOT NULL,
surname
char(50) NOT NULL, PRIMARY KEY ( StaffID
), ) ;
创建表tblManager
(
ManagerID
varchar(15)NOT NULL,
logon_code
varchar(15)NOT NULL,
dept_id
varchar(5)NOT NULL,
SystemAdmin
tinyint(1)无符号默认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, PRIMARY KEY ( dept_id
) ;