通用权限管理系统组件中实现系统参数配置保存,附源码

简介:

其实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 }




本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1196330,如需转载请自行联系原作者
相关文章
|
3月前
|
缓存 前端开发
ProFlow 流程编辑器框架问题之创建一个自定义节点如何解决
ProFlow 流程编辑器框架问题之创建一个自定义节点如何解决
41 1
|
3月前
|
搜索推荐
7、自定义工作界面
这篇文章是关于如何自定义Photoshop工作界面的,但具体内容没有在摘要中提供,因此无法给出详细摘要。如果需要了解Photoshop工作界面的自定义方法,包括面板、菜单、快捷键等的个性化设置,建议直接访问博客以获取完整信息。
7、自定义工作界面
|
6月前
|
移动开发 前端开发 JavaScript
动态获取新增的数据+项目实例介绍
动态获取新增的数据+项目实例介绍
90 0
|
存储 前端开发 JavaScript
你可能需要的多文档页面交互方案(一)
你可能需要的多文档页面交互方案
121 1
|
安全 JavaScript 网络协议
你可能需要的多文档页面交互方案(二)
你可能需要的多文档页面交互方案
66 0
|
前端开发 测试技术 数据库
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
MMsegmentation教程 3:自定义数据流程
MMsegmentation教程 3:自定义数据流程
454 0
|
Web App开发
【自然框架】通用权限的视频演示(一):添加角色,权限到功能节点和按钮
写了几个关于权限的东东,好像大家都不大理解,也不太清楚我的权限到底能做什么,所以想来想去还是弄点视频吧,就是屏幕录像,这样大家看起来就方便了吧。      为了大家便于观看视频,我先说一下视频的步骤。
1178 0
下一篇
无影云桌面