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

posted @ 2019-06-06 11:32  王春天  阅读(1250)  评论(0编辑  收藏  举报
云推荐