1 是否需要自己定义model。如果定义是不是定义(AuthItem和AuthAssignment)两个就可以了?
2 感觉表设计挺灵活的,可否把你在1.1版本中将要做的web方式配置rbac思路讲讲?
1 是否需要自己定义model。如果定义是不是定义(AuthItem和AuthAssignment)两个就可以了?
2 感觉表设计挺灵活的,可否把你在1.1版本中将要做的web方式配置rbac思路讲讲?
database schema在framework/web/auth/schema.sql
需要三个model
暂时还没考虑怎么做这个东东。 不过我自己在做的一个大型项目里很快就需要这个了。
1 要是我来设计,我可能会把3个表合成一个来设计。就一个model搞定。不知道这样做可以实现哪些特殊需求?
2 您做的项目有用到工作流引擎吗?
你怎么合并这三个表的?
以前做的有(不过比较简单),目前这个没有。
我说错了,是1个model,2个表。
表1:
create table AuthItem(name varchar(64) not null,
type integer not null,
description text,
bizrule text,
data text,
parent varchar(64) not null,
primary key (name)
);
建立一个model为AuthItem
public function relations(){ 'children'=>array(self::HAS_MANY,'AuthItem','parent'), 'userList'=>array(self::MANY_MANY, 'User', 'AuthAssignment(itemname, userid)') }
这只是一个构思而已,而且这样的改动估计没有什么意义,还是以你的为准。看来等web方式出来在用了。暂时先用脚本生成。
你这个表的设计是假设role是以树状方式组织的,而yii里的更广泛一点,它是无圈图,即一个role可以有多个parent,也可以有多个child,只要不形成圈即可。