其实GPM不仅仅是权限管理系统,其实更是一个灵活的轻量级快速.Net开发架构,他需要最短的学习时间,可以最快速入门,并不是通过玩技术来实现我们的日常需求。GPM中只要写一套代码,就可以实现在多种数据库上的稳定运行。

下面我们给大家参考一下如何在GMP中实现系统参数配置的保存功能,开发界面见下图:

数据库中的保存效果如下:

配置文件中的保存效果如下:

实现代码的优点就是,1套代码支持多种数据库,1个参数基本上1行代码就可以实现保存,读取功能,代码的量少稳定性高。见参考代码如下:

  1 //-----------------------------------------------------------------
  2 // All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd. 
  3 //-----------------------------------------------------------------
  4 
  5 using System;
  6 using System.Data;
  7 using System.Windows.Forms;
  8 
  9 namespace DotNet.WinForm
 10 {
 11     using DotNet.Utilities;
 12     using DotNet.Business;
 13 
 14     /// <summary>
 15     /// FrmSystemSecurity
 16     /// 用户登录系统
 17     /// 
 18     /// 修改纪录
 19     /// 
 20     ///        2012.02.12 版本:1.1 JiRiGaLa 功能实现。
 21     ///        2012.01.19 版本:1.0 JiRiGaLa 整理文件。
 22     ///        
 23     /// 版本:1.0
 24     ///
 25     /// <author>
 26     ///        <name>JiRiGaLa</name>
 27     ///        <date>2012.02.12</date>
 28     /// </author> 
 29     /// </summary>
 30     public partial class FrmSystemSecurity : BaseForm
 31     {
 32         public FrmSystemSecurity()
 33         {
 34             InitializeComponent();
 35         }
 36 
 37         /// <summary>
 38         /// 从数据库读取当前配置情况
 39         /// </summary>
 40         private void GetParameter()
 41         {
 42             string parameter = string.Empty;
 43             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "ServerEncryptPassword");
 44             if (!string.IsNullOrEmpty(parameter))
 45             {
 46                 this.chkServerEncryptPassword.Checked = parameter.Equals(true.ToString());
 47             }
 48             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordMiniLength");
 49             if (!string.IsNullOrEmpty(parameter))
 50             {
 51                 this.nudPasswordMiniLength.Value = int.Parse(parameter);
 52             }
 53             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "NumericCharacters");
 54             if (!string.IsNullOrEmpty(parameter))
 55             {
 56                 this.chkNumericCharacters.Checked = parameter.Equals(true.ToString());
 57             }
 58             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordCycle");
 59             if (!string.IsNullOrEmpty(parameter))
 60             {
 61                 this.nudPasswordChangeCycle.Value = int.Parse(parameter);
 62             }
 63             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "CheckOnLine");
 64             if (!string.IsNullOrEmpty(parameter))
 65             {
 66                 this.chkCheckOnLine.Checked = parameter.Equals(true.ToString());
 67             }
 68             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "AccountMinimumLength");
 69             if (!string.IsNullOrEmpty(parameter))
 70             {
 71                 this.nudAccountMinimumLength.Value = int.Parse(parameter);
 72             }
 73             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordErrowLockLimit");
 74             if (!string.IsNullOrEmpty(parameter))
 75             {
 76                 this.nudPasswordErrowLockLimit.Value = int.Parse(parameter);
 77             }
 78             parameter = DotNetService.Instance.ParameterService.GetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordErrowLockCycle");
 79             if (!string.IsNullOrEmpty(parameter))
 80             {
 81                 this.nudPasswordErrowLockCycle.Value = int.Parse(parameter);
 82             }
 83         }
 84 
 85         /// <summary>
 86         /// 将设置保存到数据库
 87         /// </summary>
 88         private void SaveParameter()
 89         {
 90             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "ServerEncryptPassword", this.chkServerEncryptPassword.Checked.ToString());
 91             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordMiniLength", this.nudPasswordMiniLength.Value.ToString());
 92             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "NumericCharacters", this.chkNumericCharacters.Checked.ToString());
 93             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordCycle", this.nudPasswordChangeCycle.Value.ToString());
 94             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "CheckOnLine", this.chkCheckOnLine.Checked.ToString());
 95             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "AccountMinimumLength", this.nudAccountMinimumLength.Value.ToString());
 96             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordErrowLockLimit", this.nudPasswordErrowLockLimit.Value.ToString());
 97             DotNetService.Instance.ParameterService.SetParameter(this.UserInfo, "System", "SystemSecurity", "PasswordErrowLockCycle", this.nudPasswordErrowLockCycle.Value.ToString());
 98         }
 99 
100         /// <summary>
101         /// 从当前配置文件显示到界面上
102         /// </summary>
103         private void GetConfig()
104         {
105             this.chkServerEncryptPassword.Checked = BaseSystemInfo.ServerEncryptPassword;
106             this.nudPasswordMiniLength.Value = BaseSystemInfo.PasswordMiniLength;
107             this.chkNumericCharacters.Checked = BaseSystemInfo.NumericCharacters;
108             this.nudPasswordChangeCycle.Value = BaseSystemInfo.PasswordChangeCycle;
109             this.chkCheckOnLine.Checked = BaseSystemInfo.CheckOnLine;
110             this.nudAccountMinimumLength.Value = BaseSystemInfo.AccountMinimumLength;
111             this.nudPasswordErrowLockLimit.Value = BaseSystemInfo.PasswordErrowLockLimit;
112             this.nudPasswordErrowLockCycle.Value = BaseSystemInfo.PasswordErrowLockCycle;
113         }
114 
115         /// <summary>
116         /// 当窗体加载时执行的方法,
117         /// 这个方法会自动处理鼠标的忙碌状态等等
118         /// </summary>
119         public override void FormOnLoad()
120         {
121             this.GetConfig();
122             this.GetParameter();
123         }
124 
125         /// <summary>
126         /// 将配置文件保存到XML文件里
127         /// </summary>
128         private void SaveConfig()
129         {
130             BaseSystemInfo.ServerEncryptPassword = this.chkServerEncryptPassword.Checked;
131             BaseSystemInfo.PasswordMiniLength = (int)this.nudPasswordMiniLength.Value;
132             BaseSystemInfo.NumericCharacters = this.chkNumericCharacters.Checked;
133             BaseSystemInfo.PasswordChangeCycle = (int)this.nudPasswordChangeCycle.Value;
134             BaseSystemInfo.CheckOnLine = this.chkCheckOnLine.Checked;
135             BaseSystemInfo.AccountMinimumLength =  (int)this.nudAccountMinimumLength.Value;
136             BaseSystemInfo.PasswordErrowLockLimit = (int)this.nudPasswordErrowLockLimit.Value;
137             BaseSystemInfo.PasswordErrowLockCycle = (int)this.nudPasswordErrowLockCycle.Value;
138 
139             // 保存用户的信息
140             #if (!DEBUG)
141                 UserConfigHelper.SaveConfig();
142             #endif
143         }
144 
145         /// <summary>
146         /// 保存系统设置
147         /// </summary>
148         private void SaveSystemConfig()
149         {
150             // 设置鼠标繁忙状态,并保留原先的状态
151             Cursor holdCursor = this.Cursor;
152             this.Cursor = Cursors.WaitCursor;
153             try
154             {
155                 this.SaveParameter();
156                 this.SaveConfig();
157 
158                 // 是否需要有提示信息?
159                 if (BaseSystemInfo.ShowInformation)
160                 {
161                     // 批量保存,进行提示
162                     MessageBox.Show(AppMessage.MSG0011, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
163                 }
164             }
165             catch (Exception ex)
166             {
167                 this.ProcessException(ex);
168             }
169             finally
170             {
171                 // 设置鼠标默认状态,原来的光标状态
172                 this.Cursor = holdCursor;
173             }
174         }
175 
176         private void btnConfirm_Click(object sender, EventArgs e)
177         {
178             // 保存系统设置
179             this.SaveSystemConfig();
180         }
181 
182         private void btnCancel_Click(object sender, EventArgs e)
183         {
184             this.Close();
185         }
186     }
187 }

转载于:https://www.cnblogs.com/jirigala/archive/2012/02/12/2348123.html

通用权限管理系统组件 (GPM - General Permissions Manager) 中实现系统参数配置保存,附源码...相关推荐

  1. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现按部门组织机构设置权限...

    政府性质的单位里很少有人员流动,一般对系统的权限要求都是相对固定一些,所以有时候会有对系统按所在部门进行配置的需求,而且很有说服力,我们通用权限管理系统组件里也同样可以权限按所在部门设置.可以灵活满足 ...

  2. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...

    最近客户有需要,同一个帐户可以重复登录系统,但是后登录的账户需要把前面已经登录的账户踢掉,例如客户把电脑打开在别的电脑上然后换一个房间,或者换个办公楼想登录时就会遇到很多麻烦,遇到郁闷的情况就是死活无 ...

  3. 通用权限管理系统组件 (GPM - General Permissions Manager) 中及时通讯功能的改进

    以前的通用权限管理系统的及时通讯只能按组织机构展示用户列表结构,现在不仅仅可以按组织机构展示,还可以按系统应用角色分组,用户自己的个性化通讯录分组进行展示用户数据了,用起来也应该更符合大家的习惯了. ...

  4. 通用权限管理系统组件 (GPM - General Permissions Manager) 中集成多系统的统一登录(数据库源码级)附源码...

    眼前有20万行以上的代码时很多人都会眼花缭乱,不知道从哪里开始下手了,甚至不会去研究几下就直接放弃了.其实大多时候没有想象的那么复杂,代码里一大部分都是有重复的,有本质上差别的部分还是很少的. 春节期 ...

  5. 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程...

    系统初始化的运行效果如下: 参数表是为了防止反复被初始化的,防止关键数据丢失. 其实很多人都提过希望有系统初始化的功能,最近稍微空一些,就给系统增加了一个初始化的功能,给大家参考一下. 首先写了一个存 ...

  6. 通用权限管理系统组件 (GPM - General Permissions Manager) - 支持请求

    为什么80%的码农都做不了架构师?>>>    首先感谢您支持关注通用权限管理系统组件,若有什么我们可以帮助您的,可以在下面留言发表您的建议,我们会尽快与您联系. 转载于:https ...

  7. 通用权限管理系统组件 (GPM - General Permissions Manager) 不改数据库、甚至不写代码就集成铜墙铁壁权限管理组件...

    为什么80%的码农都做不了架构师?>>>    越成熟的东西,越牛X的东西,越简单才对,简单才是硬道理,苹果的手机只有少数几个按键,苹果Ipad也很少的按钮,甚至连苹果的笔记本键盘都 ...

  8. 通用权限管理系统组件 (GPM - General Permissions Manager) 在跨国直销企业电子商务项目中的成功应用...

    我所在是一家跨国家直销公司,在亚太某国家电子商务项目中,2011年底系统全面应用了通用权限数据访问层类库及工具类库,支持了每月万级会员加入.千万级订单:同时,在我们的项目开发过程中,完全由外包工程师来 ...

  9. 通用权限管理系统组件 (GPM - General Permissions Manager)

    只开发一套业务管理系统,或者只维护一套业务管理系统是相对简单的事情,但是你要同时给多个客户开发多套系统,或者同时维护多个公司提供的多套系统时烦恼就来了,我们通用权限管理系统里有比较好的实现方式,有可以 ...

最新文章

  1. Linux文件内容查看相关命令
  2. xpath 获取当前节点的父节点,兄弟节点的方法
  3. PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0
  4. 深入理解ThreadLocal
  5. 深度学习之卷积神经网络 GoogleNet
  6. 我滴个乖乖,我复现了Spring的漏洞,害怕!
  7. jquery 里 $(this)的用法
  8. 深入分析redis cluster 集群安装配置详解
  9. UNIX-LINUX编程实践教程-第五章-实例代码注解-echostate.c
  10. 什么情况下用weblogic而不用Tomcat
  11. jsoncpp操作类
  12. 【新手必看系列】小鸟云服务器该如何配置?
  13. python+selenium实现网页全屏截图
  14. scrum立会报告+燃尽图(第三周第五次)
  15. Linux下使用wget安装JDK
  16. 分布式数据库架构--分库、分表、排序、分页、分组、实现
  17. 【MySQL数据库笔记 - 进阶篇】(四)视图/存储过程/触发器
  18. 按键精灵 百度文字识别(百度ocr)OCRSpace文字识别
  19. video dispose
  20. Django-admin后台LOGO字样修改方法

热门文章

  1. 第十二章_网络搭建及训练
  2. 文本预处理及keras的学习
  3. 常用js(javascript)函数
  4. babel-preset-env
  5. 国产杀毒软件连续因“作弊”遭全球权威评测机构指责
  6. 004商城项目:ssm框架的整合之后的调试
  7. [Js插件]使用JqueryUI的弹出框做一个“炫”的登录页面
  8. Apache Struts 1宣告退出舞台
  9. 艾伟_转载:单元测试之道(使用NUnit)
  10. Screens的开发一