RDIFramework.NET ━ .NET快速信息化系统开发框架

9.8 用户权限管理 -Web部分

  在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色、用户可访问的模块(菜单)与相应的操作权限、需要给某些角色添加与移除相应的用户等等,如果没有一个灵活可靠的配置管理工具将会使权限控制变得十分麻烦。用户权限管理模块就是为了方便用户、角色权限的集中统一管理而开发的模块。在用户权限管理模块,操作员可以添加或移动用户到指定的角色、可以分配或授予指定用户的模块(菜单)的访问权限、可以收回或分配指定用户的操作(功能)权限、可以对所有用户、角色、模块(菜单)、操作(功能)权限进行集中批量设置,用户授权范围内的设置,表字段权限的设置以及表约束条件权限的设置等。用户权限管理主界面如下图所示:

9.8.1、用户权限设置

  用户权限设置可以集中设置当前所选用户的归属角色、模块(菜单)访问权限、拥有的操作权限,是权限设置中经常使用的一个功能。用户权限设置如下图所示。在“用户权限设置”界面,我们可以很方便的清除当前用户所拥有的所有权限,也可以对其进行模块及操作权限的设置。

9.8.2、用户角色关联

  用户角色关联可以方便的添加与移除当前选择用户所归属的角色,用户归属于某个角色,就意味着该用户“继承”了该角色所拥有的一切权限。用户角色关联如下图所示。在用户角色关联操作界面上,我们可以为当前用户添加可用角色,也可以移除已经拥有的角色。

9.8.3、用户角色集中批量设置

  用户角色集中批量设置可在一个操作界面对所有有效登录用户授予或收回相应的角色,方便用户操作,用户角色集中批量设置如下图所示。

9.8.4、用户权限批量设置

  用户权限批量设置是一个综合集中设置界面,在权限分配过程中应用最为频繁,通过一个操作界面即可完成常用的角色、模块、操作权限的分配。用户权限批量设置如下图所示,若要分配或收回权限,单击树形节点前的复选框即可完成角色、模块(菜单)、操作权限的分配或收回。

9.8.5、用户授权范围设置

  用户授权范围设置可以很好的实现授权的再分配,对于大的集团企业可以明显的减少管理员权限分配的负担与压力,用户授权范围可以在当前用户拥有的权限下,再次有选择的分配给其他的操作人员。通俗点讲就是,某些岗位上工作的人是管理员,但不是所有业务的管理员,只是某个业务领域内的管理员,他在这个业务领域内应该有所有的权限,而且还可以委托别人来管理、可以授权给别人来管理某个业务,这就是用户授权范围管理,类似于数据库权限中的级联授权,用户授权范围如下图所示。

  在上图中的“用户”与“角色”选项卡,操作用户可以设置当前所选用户可以授权的“用户”与“角色”并点击保存按钮即可使设置生效。对于“组织机构”、“模块(菜单)”、“可分配的操作(功能)权限”三个选项卡,我们可以通过右击,在弹出的快捷菜单中选择相应的功能进行操作,如下图所示:

9.8.6、表字段权限设置

  在某些应用中,我们有时需要针对不同的登录用户设置其对特定表的访问,列的访问、编辑权限。在“表字段权限设置”中我们可以设置用户可以访问的数据表,以及对数据表列的访问、编辑、拒绝访问权限。用户的表字段权限设置如下图所示。

  在表字段权限设置窗口,左侧列出的数据表,选中即拥有对该表的访问权限,取消则会拒绝访问该表,同时该表对应的列访问、编辑、拒绝访问权限也会同步取消。如果左侧没有列出我们需要的数据表,可以通过9.11章节“表字段管理”中的“设置权限控制表”功能进行设置。

9.8.7、约束条件权限设置

  有时我们需要针对不同的用户设置其可以看到某个数据表的数据的条件,在我们这儿就是约束条件,用户对表约束条件设置如图下所示。

  在上图中,我们设置所选用户“EricHu”对数据表“模块(菜单)表”的约束条件为“ENABLED = 1”,在开发过程中,通过我们的服务接口来得到这个约束条件表达式,就可以对相应用户进行表数据约束的控制了。

  要设置相应数据表的约束条件,我们可以单击“设置条件表达式”按钮,进行所选表对当前所选用户约束条件进行设置,如下图所示。

相关文章:

RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分的更多相关文章

  1. RDIFramework.NET ━ 9.9 角色权限管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.9  角色权限管理 -Web部分 角色权限管理模块主要是对角色的相应权限进行集中设置.在角色权限管理模块中,管理员可以添加或移 ...

  2. 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面

    经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...

  3. [原]Jenkins(十三)---jenkins用户权限管理

    * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较

  4. ClickHouse学习系列之二【用户权限管理】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为 ...

  5. (十三)整合 SpringSecurity 框架,实现用户权限管理

    整合 SpringSecurity 框架,实现用户权限管理 1.Security简介 1.1 基础概念 1.2 核心API解读 2.SpringBoot整合SpringSecurity 2.1 流程描 ...

  6. (十二)整合 Shiro 框架,实现用户权限管理

    整合 Shiro 框架,实现用户权限管理 1.Shiro简介 1.1 基础概念 1.2 核心角色 1.3 核心理念 2.SpringBoot整合Shiro 2.1 核心依赖 2.2 Shiro核心配置 ...

  7. Mysql数据库用户及用户权限管理,Navicat设置用户权限

    Mysql数据库用户及用户权限管理,Navicat设置用户权限 一.Mysql数据库的权限 1.1 mysql数据库用户权限级别 1.2 mysql数据库用户权限 1.3 存放用户权限表的说明 二.用 ...

  8. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  9. django 基于proxy实现用户权限管理

    项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...

随机推荐

  1. 利用mysqldump 将一个表按条件导出数据

    mysqldump -uroot -pdsideal -t dsideal_db t_resource_info --where="res_type=1 and group_id=1 and ...

  2. [知识点]网络流之Dinic算法

    // 此博文为迁移而来,写于2015年2月6日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vrg4.html      ...

  3. 【Eclipse】几个最重要的快捷键

    1几个最重要的快捷键    代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java文档:Shift+F2   显示搜索对话框:C ...

  4. poj 1847 最短路简单题,dijkstra

    1.poj  1847  Tram   最短路 2.总结:用dijkstra做的,算出a到其它各个点要改向的次数.其它应该也可以. 题意: 有点难懂.n个结点,每个点可通向ki个相邻点,默认指向第一个 ...

  5. flex lineChart 显示所有的数据节点

    .If you're using <mx:LineSeries>, then set the following property:itemRenderer="mx.charts ...

  6. JAVA操作MongoDB数据库

    1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...

  7. 关于iOS多线程的总结

    关于iOS多线程的总结   在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例,在实际使用中感受它们的区别.还有一点需要说明的是,这篇 ...

  8. javascript模块化应用

    这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来.经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史. 无模块时代 在ajax还未提出 ...

  9. passing ‘const ’ as ‘this’ argument of ‘’ discards qualifiers 错误处理

    示例程序: #include <iostream> #include <set> using   namespace std ; class   StudentT { publ ...

  10. FileIOUtils.java

    package com.vcredit.ddcash.batch.util; import com.vcredit.ddcash.batch.autoAdvance.AutoAdvanceTask;i ...