SNF快速开发平台2019-权限管理模型-记录级-字段级权限实践
1.1.1 字段级权限
字段级权限适用于对不同人的能否查看或录入不同表不同字段的权限控制。
是否启用字段级权限配置
不启用字段级权限后,【用户权限管理】程序【字段级权限】按钮会隐藏,导致无法给管理其他用户的字段级权限。
如果启用字段级权限如下:系统配置里进行配置,勾选启用字段级权限即可。
图 3.3‑1 启用字段级权限配置
启用字段级权限使用方法
操作路径:【后台管理】->【用户权限管理】
第一步: 给用户初六配置字段权限
图 3.3‑2 给初六配置字段权限
第二步:在需要开启权限的页面构造函数中添加如下代码即可
this.SetGridColumnsPermission(this.grvGridView.Columns,DemoSingleTableEntity.TableName); |
第一个参数为GridView的所有列
第二个参数为当前数据表的名
图 3.3‑3 代码调用
第三步:登录用户初六查看效果。
图 3.3‑4 查看效果
1.1.2 记录级权限
记录级权限适用于对不同人的配置不同的数据过滤。
是否启用记录级权限配置
不启用记录级权限后,【用户权限管理】程序【记录级权限】按钮会隐藏,导致无法给管理其他用户的记录级权限。
如果启用记录级权限如下:系统配置里进行配置,勾选启用记录级权限即可。
图 3.3‑5 启用记录级权限
启用记录级权限使用方法
操作路径:【后台管理】->【用户权限管理】
第一步:给用户初六配置记录级权限。这里有两种方式,可以直接写SQL语句和下拉选择配置。
图 3.3‑6 SQL配置记录级权限方法
图 3.3‑7配置记录级权限方法
第二步:在程序查询方法中添加如下代码。
BaseTableColumnsManager columnsManager = new BaseTableColumnsManager(ucDbHelper, userInfo); string userConstraint = columnsManager.GetUserConstraint(DemoSingleTableEntity.TableName); //参数是数据表的名称 if (!string.IsNullOrEmpty(userConstraint)) { if (!string.IsNullOrEmpty(wheres)) { wheres += " and "; } wheres += userConstraint; } |
图 3.3‑8 代码调用
第三步:登录用户初六查看效果。
图 3.3‑9 效果
其它权限实践系列文章:
1、角色、权限、账户的概念理解-非常全的理论讲解权限控制 https://www.cnblogs.com/spring_wang/p/10954370.html
2、权限管理模型简介-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983935.html
3、权限管理模型实践-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983969.html
4、权限管理模型-平台服务(多平台\多组织\SAAS\多系统) https://www.cnblogs.com/spring_wang/p/10983991.html
5、权限管理模型-记录级-字段级权限实践 https://www.cnblogs.com/spring_wang/p/10983999.html
6、用户安全控制-权限管理模型实践-权限都在这里 https://www.cnblogs.com/spring_wang/p/10983983.html
7、SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人 https://www.cnblogs.com/spring_wang/p/6742014.html
8、Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持 https://www.cnblogs.com/spring_wang/p/4203293.html
作者: 王春天 出处: http://www.cnblogs.com/spring_wang/ Email: spring_best@yeah.net QQ交流:903639067
QQ群:322581894 关于作者: 大连天翼信息科技有限公司 技术总监。 SNF快速开发平台 创始人。应用平台架构师、IT规划咨询专家、业务流程设计专家。 专注于快速开发平台的开发、代码生成器。同时专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,精通DotNet系列技术Vue、.NetCore、MVC、Webapi、C#、WinForm等,DB(SqlServer、Oracle等)技术,移动端开发。熟悉Java、VB及PB开发语言。在面向对象、面向服务以及数据库领域有一定的造诣。现从事项目实施、开发、架构等工作。并从事用友软件产品U8、U9、PLM 客开工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。