所谓的AUTH其实只不过是对RBAC的一个改造.
rbac有5个表user(用户)、role(角色),role_user(用户角色对应)、node(节点)、access(角色节点对应表);
auth有4个表member(用户)、auth_group(角色)、auth_group_access(用户角色对应)、auth_rule(权限规则);
rabc比auth多了一个表,为什么会出现这样的情况?
因为rbac的node表与auth的auth_rule表对应,并且用了name规定规则,其实就是把node的层级关系合并了。
access表与auth_group表中的rules对应了,这样就少了一个数据表。
但是他们的总体思想还是角色权限控制。
我经常看到有贴子说什么auth比rbac好什么的,在我看来是rbac更严格,auth比较灵活,auth可以实现的根据条件来控制权限,其实RBAC也能实现,其实还是在于改造数据结构。角色权限控制的思想永远不会变。
下面这个项目会用到角色权限控制的思想
http://www.emtit.net/project/
开源需要各位朋友的支持

最佳答案
