【lookas2001的日常】权限管理的思考

lookas2001 2017-07-04 13:15:16
最近在想如何设计五的网的权限系统,强迫症的我,找了半天,终于找到了一个好的办法。 以下的权限管理模型是基于RBAC的一个拓展,可以对任意一个资源进行授权。 首先,就是用户表,五的网一定是有一个用户表的 users id username ... 然后就是,为了让用户可以分类(便于管理),设置一个用户组表 groups id name ... 然后,为了让用户可以跟用户组有关联,设置一个用户-用户组关联表 group_user group_id user_id (其实,有必要设置一个用户组表吗) 然后,就是权限表了 permissions id permissions_type permissions_id action entity_type entity_id 示例 设置一条id为1(仅供索引)的权限,内容为用户3可以编辑评论2的内容 1 Comment 2 edit User 3 设置一条id为2的权限,内容为所有用户(id为0代表所有用户,-1代表匿名用户,这两个用户在数据库中没有记录,仅供标识)可以创建评论(id为0代表没有指定是哪个评论,即使不是0,系统也会忽略这一条的) 2 Comment 0 create User 0 补充: -1 代表匿名用户 0 代表所有注册(在数据库中有记录的)用户

评论

没有评论哟~