C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 用户权限树的实现 -- 权限递归树
业务系统里经常会需要计算类似的树形权限树的业务需求

1:往往会有一些需求,a 对 b 有权限, b对c 有权限, 等等。
2:还需要很直观的看到,整个权限的树形关系,一目了然的那种。
3:程序调用简单,写代码很容易能调用我们写好的函数。
4:程序稳定,bug 少,考虑周全。
直接上图:




在模块菜单定义里,需要一个数据权限项的设定,设定方式如下图

代码调用方法:
BasePermissionScopeManager permissionScopeManager = new Business.BasePermissionScopeManager(BaseSystemInfo.UserInfo);
// 目标用户的主键
string userId = "";
// 对什么权限进行权限树运算?
string permissionCode = "Resource.ManagePermission";
// 权限的名称可以为null,可以忽略的参数
string permissionName = "管理权限";
// 获取到用户权限树递归的用户主键
string[] userIds = permissionScopeManager.GetPermissionTreeUserIds(userId, permissionCode, permissionName);
// 显示输出用户主键列表,你可以任意加工这些参数结果数据了
foreach (var user in userIds)
{
System.Console.WriteLine("user:" + user);
}
每个功能看了,我们都有能力实现,但是很多时候没那么多时间,因为你平时还需要干什么多事情,更有价值的事情,有些功能你看一下2个小时就会用了,但是你自己实现一下需要2周才能开发好,若你的生命又是很有价值,那你可以考虑有偿购买一个组件源码,然后用2个小时把问题搞定了就可以了。因为组件有1000个功能,你没连续的2000个小时从头到尾都实现好。因为你的生命很宝贵,你需要有时间去谈恋爱,陪孩子,陪客户,管理项目,学习提高自己,锻炼身体,合理的休息。
当生命没多少价值时,浪费就浪费了,重复建设就重复建设了,就当是锻炼,提高自己了就可以了。反正有的是时间,最不值钱的就是时间。

C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 用户权限树的实现 -- 权限递归树的更多相关文章
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 用户密码安全增强
系统的用户密码是有多少重要大家应该心里都有数,一个系统的密码若是大批量泄露,哪怕是少数几个人密码泄露了,都是致命的. 1: 系统里不要保存明文密码,那是引诱人家犯罪.2: 首先防范的不是外鬼,先需要防 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 组织机构的名称编号是否允许重复?
通常情况下,一个公司内部的部门名称,编号是不可能重复的.但是是在多公司的情况下,很可能有部门名称重复的问题存在,这时需要允许部门名称重复. 例如一个大型IT公司,在2个地区都有研发部或者客户服务部,这 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 省市区数据权限的实现效果
折腾了2-3周,终于把全国网点数据权限,省.市.县数据规范化,查询权限规范化,基础数据规范化的思路理清楚了, 今天应该是一个里程碑式的一天 省市区数据规范化后 1:网点的基础数据可以更加严谨规范化. ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 标准省市县数据的公司选择窗口实现
若全国各地有上千个分公司,加盟店,网点,那就需要一个友善的选择分公司的功能,得有标准的全国省市县的划分数据.这样有了牢靠的基础数据后,才能开发程序得心应手了.当习惯了开发一个公司内部系统时,全国性大公 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 独立子系统管理员功能实现
1: 由于公司一次性要开发10多个子系统,每个子系统都需要有相关的业务部门进行对应.2: 若用集中式管理方式,每个业务部门人员变动,权限变动时,都需要早IT信息中心进行调整,影响工作效率.及时性.3: ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 多系统开发接口 - 苹果客户端开发接口
最近工作上需要,给苹果客户端开发接口,实现集中统一的用户管理,下面是接口调用参考. 1: 获取OpenId? http://127.0.0.1/GetOpenId.ashx?username=Admi ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 客户常用问题回答
A.系统有两个添加用户 一个是申请用户.一个是添加用户.这两个分别在什么情况下使用? 回答 1:不是所有的用户都是管理员添加的,特别是分公司多,部门多时,都由管理员添加,效率低,而且很容易输入不精确的 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 拆分表、联系方式的拆分?
当用户数据有接近10万时,而且多表的关联也比较频繁时,能把大表拆为小表,也会提高系统的性能,I/O.运算性能.当然以后用户数据会更大可能会到30-40万以上,所有有能力时适当拆表,分分合合,合合分分也 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 导入导出Microsoft Excel 2010的例子
1:能支持多种Excel版本,早期的.现在的版本都支持.2:能导入.3:能导出.4:有简单的例子可以参考.
随机推荐
- git 错误:
git 错误: $ git commit -afatal: Unable to create 'e:/git/Android/XXXXXX/.git/index.lock': File exists ...
- zend studio 使用总结
1 修改中文字体打开zend studio -> Window -> Preferences -> General -> Apperance -> Colors and ...
- Spark:利用Eclipse构建Spark集成开发环境
前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...
- github邮箱验证技巧
申请的github账号,绑定邮箱之后才能创建库,而反复几次的发送邮件均为收到验证邮件,猜测有两个原因: 1.腾讯邮件服务器屏蔽了github的来信 (腾讯不会这么狭隘的,×) 2.自己邮箱的域名黑名单 ...
- 源码编译安装screen
OS:Amazon Linux AMI 2015.09.2 (HVM) #sudo su #wget http://ftp.gnu.org/gnu/screen/screen-4.3.1.tar.gz ...
- .Net开源网络爬虫Abot介绍
.Net中也有很多很多开源的爬虫工具,abot就是其中之一.Abot是一个开源的.net爬虫,速度快,易于使用和扩展.项目的地址是https://code.google.com/p/abot/ 对于爬 ...
- [20130704] Intra-Query Parallel Thread Deadlocks
今天碰到了 Intra-Query Parallel Thread Deadlocks 简单的说就是并发查询把自己给锁住了. 原理: 在并发查询运行是,有一个生产者和一个消费者,生产者等待消费者产生 ...
- Java api 入门教程 之 JAVA的String 类
1.String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语 ...
- dos2unix用法
windows下编写的脚本,上传到linux上执行,有时会出现莫名其妙的结果,也是折腾了半天才找出原因,windows和linux有些编码不同,经dos2unix处理后,结果一切正常man dos2u ...
- Android开发中XML布局的常用属性说明
<!-- 常用属性说明: android:id="@+id/button" 为控件指定Id android:text="NNNNNNNNNN" 指定控件的 ...