权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 用户权限树的实现 -- 权限递归树

2014-01-22 09:04  通用C#系统架构  阅读(3897)  评论(3编辑  收藏  举报

业务系统里经常会需要计算类似的树形权限树的业务需求

 

1:往往会有一些需求,a 对 b 有权限, b对c 有权限, 等等。

2:还需要很直观的看到,整个权限的树形关系,一目了然的那种。

3:程序调用简单,写代码很容易能调用我们写好的函数。

4:程序稳定,bug 少,考虑周全。

直接上图:

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

代码调用方法:

            BasePermissionScopeManager permissionScopeManager = new Business.BasePermissionScopeManager(BaseSystemInfo.UserInfo);
            // 目标用户的主键
            string userId = "133";
            // 对什么权限进行权限树运算?
            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# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友