题干:
如果你自己来设计一套通用的权限系统,你会从哪些角度考虑?
思路点拨:
基于角色的权限管理的元素:用户,角色,资源,操作,权限
用户:应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。
用户组(可选) 为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。
角色:为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。
资源:权限管理的一个单元实体对象,我们广义的称之为资源,可以是一个人,也可以是一个产品,一个文件,一个页面 等等。
操作:对资源进行的实际操作,比如读、写、编辑等等。
权限:资源+操作,构成一个权限控制点。
数据表设计考虑:用户信息、用户角色、角色权限、用户组、组角色、用户权限