我有一个这样的数据库设置(我知道这不是最好的设置,但我无法更改它:-(
基本上有3个级别的用户-管理员-经理-员工
注意事项:员工的成员属于部门,员工logon_code显示在经理表中,他们是经理,否则他们是员工-If的成员。员工的logon_code显示在经理表中,并且SystemAdmin设置为1,他们是管理员
我到底该如何为此设置ACL/Auth?有什么想法吗?
创建表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) unsigned default NULL,PRIMARY KEY (ManagerID) );
创建表tblDepartment ( dept_id varchar(5) NOT NULL,sect_id varchar(50) default NULL,subsect_id varchar(50) default NULL,sect_name varchar(50) default NULL,sect_abbr varchar(50) default NULL,subsect_name varchar(50) default NULL,主键(dept_id) );
发布于 2009-06-04 06:56:21
老实说,我不明白为什么在您的示例中要将tblStaff和tblManager分开。他们不都是“雇员”,即某种意义上的“职员”吗?
为什么不呢:
创建表格tblUsers (UserID、logon_code、dept_id、SystemAdmin、firstname、lastname等)
毕竟,不管他们是“员工”还是“经理”,他们都是你的应用程序的“用户”。
此外,如果您需要更多的分隔,您可以添加另一个字段(如user_level_id)来确定每个用户的角色。在此之后,Auth/ACL应该相当简单。
https://stackoverflow.com/questions/945326
复制相似问题