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

SNF快速开发平台2019-权限管理模型-记录级-字段级权限实践的更多相关文章

  1. SNF快速开发平台2019-权限管理模型实践-权限都在这里

    其它权限实践系列文章: 1.角色.权限.账户的概念理解-非常全的理论讲解权限控制 https://www.cnblogs.com/spring_wang/p/10954370.html 2.权限管理模 ...

  2. SNF快速开发平台2019-权限管理模型简介-权限都在这里

    1.1    权限的概念 权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度.它常常用“具有批准……事项的权限”来进行表达.例如,具有批准预算外5000元以内的礼品费支出的 ...

  3. SNF快速开发平台2019-权限管理模型-平台服务(多平台\多组织\SAAS\多系统)

    1.1    不同组织机构 通俗的讲,就是一个集团公司,划分几个区域,每个区域都有什么分公司,每个分公司都有哪些部门一样,哪些部门又有那些子部门等. 当然也可以是外贸公司的全球性客户.合作伙伴的分布情 ...

  4. SNF快速开发平台MVC-名片管理(实际名片样式)

    名片管理实际的做的意义在于演示应用,在这里使用的技术有排序控件,查询条件.自由样式瀑布流式分页等技术. 下面是自由样式效果图: 下面表格样式效果图: 具体操作: 新增名片 在新增时可以上传图像进行裁剪 ...

  5. SNF快速开发平台MVC-自由排序组件

    1.    自由排序功能使用 在一些需要排序优先级的数据进行调整处理,如民族数据,在北方实施的时候汉族比较多,希望把汉族放在第一位.在蒙古实施项目时,蒙古族人最多把蒙古族放在第一选择位. 1.1.   ...

  6. SNF快速开发平台MVC-集成了百度开源项目echars

    百度开源项目echars图表样式非常丰富,而且开源免费.非常好.所以在我们框架当中也进行了集成echars完成图表任务. 我们进行了两次封装,利于我们开发使用.我也看到过有些架构师 按echars里的 ...

  7. SNF快速开发平台--多组织+多平台+多系统处理方案

    多组织架构的集团要看组织的组成形式: 1.如果每个组织都是独立法人,这个相对来说简单一些,组织之间的关联交易跟集团外部客户交易没什么本质区别, 各个公司都是独立核算,正常的应收应付都需要开发票,各自出 ...

  8. SNF快速开发平台MVC-EasyUI3.9之-Session过期处理和页面请求筛选

    Session引发的异常 其中一个bug是这样的: 使用Firefox登录进入系统后,再打开一个Tab,进入系统页面,点击logout. 在回到前一个tab页面,点击Save按钮,出现了js错误.这个 ...

  9. SNF快速开发平台MVC-EasyUI3.9之-WebApi身份验证问题解决方案

    在我们的整体bs框架当中前端采用的是MVC+WebApi的处理方式.WebApi使用起来确实很方便但也会有新的麻烦事,就是身份验证. 如果没有启用身份认证,那么任何匿名用户只要知道了我们服务的url, ...

随机推荐

  1. Django的orm操作之表查询二

    复习 单表查询 # 单表操作 # 增 # 方式1 user_obj=models.User.objects.create(**kwargs) # 之一create # 方式2 user_obj=mod ...

  2. jmeter 使用命令行执行

    一般情况我们在设计脚本的时候,可以使用界面执行. 实际在压测的时候,我们可以使用命令行在后台执行. jmeter -n -t D:\document\bgy\jemeter\Script1.jmx - ...

  3. CentOS6.7搭建部署FTP服务 (详解主配置文件)

    FTP传输 三种解析: username -->UID  :/etc/passwd    将用户名转换成UID的库. hostname--->        IP   :DNS服务,/et ...

  4. Zipkin 的 Docker 镜像使用

    1.Zipkin 在 dockerhub 上网址:https://hub.docker.com/r/openzipkin/zipkin 2.下载镜像 docker pull openzipkin/zi ...

  5. postman:设置环境变量(参数化 & 关联)

    postman是测试接口的主要工具之一 我们的测试环境主要分为test(测试环境)和pre_production(预生产环境),而他们的api都是一样的,只是ip及端口不一样 所以,我们可以设置环境变 ...

  6. 【Javascript】call

    var ShowDlg = function ShowDlg() { } ShowDlg.prototype.animate = function(msg) { alert(msg); } var l ...

  7. Java8新特性之forEach+Lambda 表达式遍历Map和List

    这是Java8系列的第二篇,今天来说一下Java8中forEach的简单使用.我们使用对比的方式来看应该会看得更加清楚,更能理解: 一.遍历Map ============Java8之前的方式==== ...

  8. int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restric mutex)

    mutex:为了保护条件变量而存在的: cond:为了线程通信而存在的. 整个机制都是为了保护条件变量和线程间通信而存在的. pthread_cond_wait()函数一进入wait状态就会自动rel ...

  9. Likelihood function

    似然函数 统计学中,似然函数是一种关于统计模型参数的函数,表示模型参数中的似然性. 给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ ...

  10. [教程]Ubuntu16.04安装texstudio

    [教程]Ubuntu16.04安装texstudio step 1 首先要下载texlive. 不会的戳这里 然后直接终端命令 sudo apt-get install texstudio step ...