我们习惯了在页面上有几个按钮控制这几个按钮的权限都做得都很熟练例如有 btnAdd 添加按钮btnEdit 编辑按钮btnDelete 删除按钮此
页面是学生基本信息管理页面 frmStudentManager
那我们可以设置如下权限对应关系
AddStudent 权限对应 > frmStudentManagerbtnAdd 按钮的可用属性
EditStudent 权限对应 > frmStudentManagerbtnEdit 按钮的可用属性
DeleteStudent 权限对应 > frmStudentManagerbtnDelete 按钮的可用属性
这个大家都很好理解了
若学生这个表里有 RealName姓名Code编号Age年龄Sex性别等字段用户能访问那些列也需要权限控制大家就很容易糊涂了其实也是很简单的道理只是我们没彻底想同问题的本质而已其实我们可以设置如下权限对应关系
ViewStudentRealName 权限对应 > 列表中 RealName姓名 字段是否可见
ViewStudentCode 权限对应 > 列表中 Code编号 字段是否可见
ViewStudentAge 权限对应 > 列表中 Age年龄 字段是否可见
ViewStudentSex 权限对应 > 列表中 Sex性别 字段是否可见
只不过是多了几个权限有些权限是对应按钮的可用属性有些对应列的可见属性而已单元格的权限控制也是以上同样的原理可以举一反三只是有相应的唯一权限对应每个单元格就可以了
其实难是不难就差捅破那层纸而已基本原理是一样的只是换了个表现方式而已在过去的几年里经常遇到这样的提问今天心情好写个文章给大家参考参考吧日后可能派上用处
至于说数据库的所有的表所有的字段的自动控制等那就是另一个范畴的问题了以上只是解决问题的核心思想你稍微变通一下就可以搞定了甚至对数据源的控制干脆没权限的数据连读都不读出来那也是可以按以上的思想解决的那就要看你自己实现了
将权限管理工作流管理做到我能力的极致一个人只能做好那么很少的几件事情