在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色、用户可访问的模块(菜单)与相应的操作权限、需要给某些角色添加与移除相应的用户等等,如果没有一个灵活可靠的配置管理工具将会使权限控制变得十分麻烦。用户授权管理模块就是为了方便用户、角色权限的集中统一管理而开发的模块。在用户授权管理模块,操作员可以添加或移动用户到指定的角色、可以分配或授予指定用户的模块(菜单)的访问权限、可以收回或分配指定用户的操作(功能)权限、可以对所有用户、角色、模块(菜单)、操作(功能)权限进行集中批量设置,用户授权范围内的设置,表字段权限的设置以及表约束条件权限的设置等。
用户授权管理从3.2版本开始启用了全新的界面组织方式,更加的合理与快速,颠覆了以往的所有版本,可操作性大大提高,模块的选择以子系统进行加载,模块的操作权限项也是以模块的选择动态加载,只有设置了模块的访问权限才可以设置其对应模块的操作权限,对于大型系统加载速度与处理的灵活性都毋庸置疑。
用户授权管理主界面,如下图所示:
下面就WinForm版用户授权管理的所有功能做介绍,主要包含:用户权限设置、用户角色关联、用户角色集中批量设置、用户授权范围设置、表字段权限设置、约束条件权限设置、锁定用户、解锁用户。
1、用户权限设置
用户权限设置可以集中设置当前所选用户的归属角色、模块(菜单)访问权限、拥有的操作权限,是权限设置中经常使用的一个功能。用户权限设置如下图所示。在“用户权限设置”界面,我们可以很方便的清除当前用户所拥有的所有权限,也可以对其进行模块及操作权限的设置。选中复选框即拥有相应的权限,取消选择即收回其对应的权限。
上图的用户权限设置界面,整个界面采用了全新的布局方式,最上面是业务系统选择下拉列表,这儿列出了所有的子系统可供选择,选择一个子系统后下面就会显示当前子系统所有的模块列表。选中对应模块前面的复选框就表示授予当前模块可访问的权限,选择一个模块右边就会列出当前模块所有的操作权限项列表,同理要授予某操作权限项,只需选中前面的复选框,取消权限只需要取消复选框的选择即可。右边的复选框可以操作的前提是左边其对应的模块的复选框被选中。否则就是灰色的不可选择,如下图所示。
2、用户角色关联
用户角色关联可以方便的添加与移除当前选择用户所归属的角色,用户归属于某个角色,就意味着该用户“继承”了该角色所拥有的一切权限。用户角色关联如下图所示。在用户角色关联操作界面上,我们可以为当前用户添加可用角色,也可以移除已经拥有的角色,同时可以查看当前选中角色所拥有的模块(菜单)访问权限。
单击“添加角色”按钮,打开“选择角色”窗口,选择相应角色后确定即可把所选角色附加到指定的用户上。“选择角色”如下图所示。如果角色过多,可以通过“角色分类”进行过滤。
要移除角色只需要在用户角色关联窗口选中要移除的角色,单击“移除”即可。需要说明的是:移除该角色,该用户就不再具有该角色所拥有的相应模块(菜单)访问权限与相应的操作权限等。需要注意的是用户默认角色不能在这儿移除,需要通过修改用户选择默认角色来进行修改。在“用户角色关联”界面上,我们还可以查看所选角色所拥有的模块(菜单)访问权限,以为我们做出正确的角色分配提供依据。如下图角色模块(菜单)权限所示。
3、用户角色集中批量设置
在“用户授权管理”主界面单击“用户角色关联”即可打开“用户角色集中批量设置”窗口。用户角色集中批量设置可在一个操作界面对所有有效登录用户授予或收回相应的角色,方便用户操作,用户角色集中批量设置如下图所示。“清除角色”则清除当前所选用户所拥有的所有角色,“复制角色”与“粘贴角色”功能按钮可以方便的把当前所选用户的角色与另一个角色设置为一至,避免重复点击相应角色带来的麻烦,提高角色分配的效率。单击左侧的相应用户后,其所属于的角色就在右边角色列表中进行了选中。
4、用户授权范围设置
用户授权范围设置可以很好的实现授权的再分配,对于大的集团企业可以明显的减少管理员权限分配的负担与压力,用户授权范围可以在当前用户拥有的权限下,再次有选择的分配给其他的操作人员。通俗点讲就是,某些岗位上工作的人是管理员,但不是所有业务的管理员,只是某个业务领域内的管理员,他在这个业务领域内应该有所有的权限,而且还可以委托别人来管理、可以授权给别人来管理某个业务,这就是用户授权范围管理,类似于数据库权限中的级联授权,用户授权范围如下图所示。
下面我们演示下范围权限,比如当前用户“凡卫”授予的组织机构范围权限如下图所示:
下面我们以“凡卫-fanwei”登录框架后打开“组织机构管理”模块,如下图查看用户对组织机构授权范围设置的效果。可以看到用户“凡卫-fanwei”可以访问的组织机构范围已经控制在了我们限制的范围中了,这样就可以让不同区域的管理者管理自己所在的组织机构而不用展示全部组织机构,做到范围授权。
5、表字段权限设置
在某些应用中,我们有时需要针对不同的登录用户设置其对特定表的访问,列的访问、编辑权限。在“表字段权限设置”中我们可以设置用户可以访问的数据表,以及对数据表列的访问、编辑、拒绝访问权限。用户的表字段权限设置如下图所示。
在表字段权限设置窗口,左侧列出的数据表,选中即拥有对该表的访问权限,取消则会拒绝访问该表,同时该表对应的列访问、编辑、拒绝访问权限也会同步取消。如果左侧没有列出我们需要的数据表,可以通过“设置需要做表权限控制的数据表”进行设置。
6、约束条件权限设置
有时我们需要针对不同的用户设置其可以看到某个数据表的数据的条件,在我们这儿就是约束条件,用户对表约束条件设置如下图所示。
在上图中,我们设置所选用户“fanwei”对数据表“产品表”的约束条件为“ProductPrice>500”,在开发过程中,通过我们的服务接口来得到这个约束条件表达式,就可以对相应用户进行表数据约束的控制了。
要设置相应数据表的约束条件,我们可以单击“设置约束条件表达式”按钮,进行所选表对当前所选用户约束条件进行设置,如下图所示。
设置好后,我们还可以验证我们设置的约束表达式是否符合要求,同时还可以查看所选用户在该表设置的约束条件下所看到的数据(通过查看约束数据集),同时还可以验证我们所设表达式是否符合语法要求,如下图所示。设置好后,就可以调用我们的接口来做相应的表数据控制。在“表约束条件”窗口单击“导出”可把当前用户的表约束条件导出到Excel。
同时我们还可以查看当前所设置的约束条件下的数据集,如下图所示,在“查看约束数据集”窗口,我们还可以把查看的数据集导出到Excel。
7、锁定用户
当需要限制某个用户登录时,我们可以锁定用户一段时间(锁定的时间长度可以通过配置变量:PasswordErrorLockCycle来设置锁定的长度,默认是30分钟)才允许其登录,锁定用户如下图所示:
锁定成功后如下图所示:
对于锁定的用户,用户就不能登录了,如下用被锁定的用户去登录就会提示“登录账户被锁定”,如下图所示。
8、解锁用户
如果需要手动解除用户的锁定,可以选择对应用户,再单击工具栏“访问控制”下拉下的“解锁用户”按钮即可,解锁用户如下图所示。
相关文章:
一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。
RDIFramework.NET官方网站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!
RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!
扫描二维码立即关注