CDbAuthManager 需要三个表,默认情况下他们的名字是: AuthItem, AuthItemChild, AuthAssignment , 如果需要可以另行配置.
[color="#000066"]以下结构,为程序可运行的基础结构,如需索引,自行添加.[/color]
AuthItem 这是所有校验成员的数据表,包括 operation , task , role
他的表结构为:
[sql]CREATE TABLE AuthItem
(
id
int(11) NOT NULL auto_increment,
name
varchar(20) NOT NULL,
type
int(2) NOT NULL,
description
varchar(255) default NULL,
bizrule
varchar(255) default NULL,
data
varchar(255) default NULL,
PRIMARY KEY (id
)
);[/sql]
AuthItemChild 此表描述了 operation , task , role 之间从属的关系
[sql]
CREATE TABLE AuthItemChild
(
id
int(11) NOT NULL auto_increment,
parent
varchar(20) NOT NULL,
child
varchar(20) NOT NULL,
PRIMARY KEY (id
)
)
[/sql]
AuthAssignment 此表描述了用户的角色属性,关于userid部分,如果你使用的是用户名,则可以自行修改字段类型以适应,你的需求
[sql]
CREATE TABLE AuthAssignment
(
id
int(11) NOT NULL auto_increment,
itemname
varchar(20) NOT NULL,
userid
int(11) NOT NULL,
bizrule
varchar(255) default NULL,
data
varchar(255) default NULL,
PRIMARY KEY (id
)
)
[/sql]