Winform开发框架之权限管理系统
本文章转载:http://www.cnblogs.com/wuhuacong/archive/2011/05/08/2040620.html
至此,权限管理模块介绍已经完毕,下面给出一个调用例子Demo程序给大家参考学习,下载地址如下:
https://files.cnblogs.com/wuhuacong/SecurityDemo.rar
前一篇文件的字典组件模块调用例子Demo程序下载地址也一并提供下载,下载地址如下:
https://files.cnblogs.com/wuhuacong/DictionaryDemo.rar
40楼的评论:
不过可以先帖上权限的核心控制部分的代码: /// <summary> /// 设置form上的组件的权限 /// </summary> /// <param name="form">控件所在的窗体</param> /// <param name="getPermissionsHandler">取得form里组件名及其Enabled属性(当前用户)的键值对</param> public static void SetPermissions(this Form form, Func<Form, IDictionary<string, bool>> getPermissionsHandler) { Type t = form.GetType(); FieldInfo[] fs = t.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); IDictionary<string, bool> permissions = getPermissionsHandler(form); foreach (FieldInfo f in fs) { dynamic component = f.GetValue(form); if (component is System.ComponentModel.Component && permissions.ContainsKey(f.Name)) { try { component.Enabled = permissions[f.Name]; } catch { } } } }
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET