概念
RBAC即Role Based Access Control,意为基于角色的访问控制。用户与角色相关联,当用户在系统进行注册时可以选择成为某一角色从而拥有这个角色的权限,当然新注册的用户的权限也可以由上一级用户授予如管理员认定某个用户为某个角色就授予了该普通用户对应角色得权限。用户与权限的逻辑分离极大地简化了权限的管理。
权限管理问题
在没有进行权限划分的页面中,所有登录的用户看到的页面内容都是一致的。但在实际业务运用中,每个页面应该有公共的部分即每个用户都能看到的部分以及某一类用户自己才能看见的部分如系统的管理员能看到管理普通用户的页面而普通用户只能看到对他提供服务的页面。毫无疑问,此时不同的用户登录系统以后他们所看到的内容以及执行的操作是有区别的。
权限的使用场景
不同用户登录后看到的菜单不一样
不同用户登录后看到的表单数据不一样
不同用户登录后能操作的功能不一样
总结
在进行web项目开发时,使用RBAC的思想来设计数据库表。在设计数据库表时我们通常要进行逻辑数据表的设计以及功能资源表的设计,不同的用户登录web页面看到不一样的内容即是查询了功能资源表里的不同记录。使用RBAC思想设计的方案是非常灵活的。