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. rest framework 之解析器

    一.示例 1.api/urls.py from django.urls import path, re_path from api.views import UserView, ParserView ...

  2. jmeter 使用命令行执行

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

  3. docker配置镜像加速器

    docker配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 sudo mkdir - ...

  4. uboot是什么

    u-boot是一种普遍用于嵌入式系统中的Bootloader,Bootloader是在操作系统运行之前执行的一小段程序,通过它,我们可以初始化硬件设备.建立内存空间的映射表,从而建立适当的软硬件环境, ...

  5. Centos系统的升级

    文章来源:https://blog.csdn.net/kikajack/article/details/79396793 系统及内核版本: [root@node5 ~]# cat /etc/redha ...

  6. OSI七层模型数据流

    前段时间去学习了思科网络基础CCNA的知识,与我们运维所需的网络基础大同小异,当然其包容性要大很多.我们主要来看下网络方面的内容: 网络七层模型 七层网络模型是我们进行网络间通信的基本理论依据,由上至 ...

  7. TKey SSO 单点登录系统介绍

    Introduction TKey = Token Key 以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO) 初衷: 做国内各种登录场景的配件,以完善的学习资料为主核心竞争力 纯粹的 ...

  8. python测试开发django-68.templates模板标签{% for %}

    前言 有些标签类似这样: {% tag %} ,需要开始和结束标签 例如:{% tag %} ...标签 内容 ... {% endtag %},一般用于循环列表对象输出内容. for 标签 {% f ...

  9. python Tkinter的Text组件中创建x轴和y轴滚动条

    #!/usr/bin/python #coding: utf-8 from Tkinter import * root = Tk() root.title("记事本") root. ...

  10. 【C/C++】变量

    变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储.变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表. 变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要 ...