权限控制里的视图机制,真的是个挺好用的工具。用视图做权限管理,其实就是先把不想让人看到的数据藏起来,再在这基础上设访问规则。简单说,先遮挡再授权,思路清晰,执行也不难。像是数据库的“过滤器+门禁”。
视图机制配合授权机制,蛮适合一些对数据权限要求高的系统。比如 HR 系统,你可以做个员工基本信息视图
,对部门经理只开放姓名、工号这些字段,工资、身份证号就隐藏掉。再配合GRANT
控制访问,数据就安全多了。
另外,不同数据库对授权的支持也不太一样。Oracle权限机制比较完善,SQL Server也有角色分级,MongoDB和MySQL的权限设置虽然不复杂,但也足够用了。下面这几个文章资源,都是我收藏夹里的宝,建议你都看看:
ORACLE 数据库权限验证机制详解,讲得比较细,适合搞深入的;
Oracle 授权与检查机制,偏实战一点,有具体例子;
SQL Server 2008 的安全机制等级及角色权限管理,适合做项目时查查对照用;
MongoDB 用户权限设置,挺轻量的配置,适合小项目;
设计 MySQL 用户权限管理表格,适合权限自定义需求强的场景。
嗯,如果你正好在做系统权限隔离、需要按角色定义访问控制,不妨就用视图+授权的方式试试。灵活又好维护,不用写太多复杂的逻辑。