角色用户权限RBAC

关于角色、用户、权限的表设计,已经成为经典中的经典,到处都在用,这里只是收录一下:

角色表:{role_id,role_name}

用户表:{user_id,user_name}

权限表:{permission_id,permission_name}

角色用户关联表{role_id,user_id},

角色权限关联表:{role_id,permission_id,operate/*操作可以使用二进制来记录*/}

其中用户代表一个组织的职员;角色表示该组织内部的一项任务的功能或某个工作职务,它也表示该角色成员所拥有的权利和职责;权限是用户对系统中各客体访问或操作的权利,客体是指系统中的数据客体和资源客体,例如,目录、文件、记录、端口、设备、内存或子网都是客体。

权限因客体不同而不同,例如,对于目录、文件、设备、端口等类客体的操作权是读、写、执行等;对应数据库管理系统的客体是关系、元素、属性、记录、库文件、视图等,相应的操作权是Select、Update、Delete、Insert等;在会计应用中,相应的操作权是预算、信用、转移、创建和删除一个账目等。

operate,操作可以使用二进制来记录,比如要记录“预算、信用、转移、创建”权限:

可以使用1111四位来记录,第一位表示预算,0111表示没有预算权,1111表示有预算权。

posted @ 2014-11-25 11:24  lzhou666  阅读(984)  评论(1编辑  收藏  举报