/// <summary> /// 获取链接字符串 /// </summary> /// <param name="guid"></param> /// <param name="key"></param> /// <returns></returns> public string ReadDBConnect() { string connStr = DesCryptFactory.DecryptString(ConnectDic[Guid], Key); this.ProviderType = DoGetProviderType(connStr); return(DoGetConnect(connStr)); }
/// <summary> /// /// </summary> /// <param name="userid"></param> /// <param name="password"></param> /// <returns>返回1表示登录成功,2表示已登录,3表示密码错误,0表示登录失败</returns> public LoginInfo Login(string userid, string password) { //SQLBuilder builder = new SQLBuilder("Account"); //string sql = builder.GetSQL("Account", new string[] { "A.UserId,A.Password,A.PasswordKey,A.loginIP,A.LoginDT,A.IsLogin" }, builder.Where("A.UserId={0}", userid)); //DataRow row = this.DataAccess.GetDataRow(sql); LibTableObj account = this.DSContext["Account"]; LoginInfo lginfo = new LoginInfo(); lginfo.HasAdminRole = false; this.DataAccess.FillTableObj(account.Where(account.Columns.UserId + "={0}", userid)); dynamic row = account.FindRow(0); if (row != null) { if (row.IsLogin) { //this.AddMessage(string.Format(this.GetMessageDesc("msg000000001")), LibMessageType.Prompt); //return 2; lginfo.loginResult = 2; } string pwd = row.Password; string pwdkey = row.PasswordKey; lginfo.UserNm = row.UserNm; pwdkey = DesCryptFactory.AESDecrypt(pwdkey, SysConstManage._pwdkeyEncrykey); pwd = DesCryptFactory.DecryptString(pwd, pwdkey); //this.AddMessage("test", LibMessageType.Error); if (pwd == password) { //sql = builder.GetUpdateSQL("Account", builder.UpdateField("IsLogin={0},loginIP={1}", true, "192.168.1.5"), builder.Where("UserId={0}", userid)); //int result = this.DataAccess.ExecuteNonQuery(sql); //return result > 0 ? 1 : 0; lginfo.loginResult = 1; LibTableObj roletbobj = this.GetAuthority(userid); if (roletbobj != null) { var exist = roletbobj.Rows.FirstOrDefault(i => i.JoleId == "001"); if (exist != null) { lginfo.HasAdminRole = true; } } } else { lginfo.loginResult = 3; } } else { lginfo.loginResult = -1; } return(lginfo); //return 1; }
/// <summary> /// 获取系统账套链接字符串 /// </summary> /// <returns></returns> public string ReadSysDBConnect() { Dictionary <string, string> dic = ReadDBInfoToDic(); if (!string.IsNullOrEmpty(SysDBConnStr)) { string[] strarray = SysDBConnStr.Split(SysConstManage.ColonChar); if (strarray.Length > 1) { string connetStr = DesCryptFactory.DecryptString(strarray[1], strarray[0]); this.ProviderType = DoGetProviderType(connetStr); return(DoGetConnect(connetStr)); } } return(string.Empty); }
//string _pwdkeyEncrykey = "bwyAccount"; protected override void BeforeUpdate() { base.BeforeUpdate(); #region 产生密码秘钥并加密密码 //string pwd = this.LibTables[0].Tables[0].DataTable .Rows[0]["Password"].ToString(); //string pwdkey = DesCryptFactory.GenerateKey(); //pwd = DesCryptFactory.EncryptString(pwd, pwdkey); //this.LibTables[0].Tables[0].DataTable .Rows[0]["Password"] = pwd; //this.LibTables[0].Tables[0].DataTable .Rows[0]["PasswordKey"] = DesCryptFactory.AESEncrypt(pwdkey, _pwdkeyEncrykey); var firstrow = this.LibTables[0].Tables[0].FindRow(0); string pwd = firstrow.Password; string pwdkey = DesCryptFactory.GenerateKey(); pwd = DesCryptFactory.EncryptString(pwd, pwdkey); firstrow.Password = pwd; firstrow.PasswordKey = DesCryptFactory.AESEncrypt(pwdkey, SysConstManage._pwdkeyEncrykey); #endregion }
/// <summary> /// 保存配置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { DBInfoHelp help = new DBInfoHelp(); DBInfo dbinfo = new DBInfo(); dbinfo.Key = DesCryptFactory.GenerateKey(); dbinfo.DataBase = this.txtDataBase.Text.Trim(); dbinfo.ServerAddr = this.txtServerAddr.Text.Trim(); dbinfo.UserId = this.txtUserId.Text.Trim(); dbinfo.Password = this.txtpwd.Text.Trim(); dbinfo.Guid = dbinfo.DataBase == ResFactory.ResManager.LogDBNm ? dbinfo.DataBase : Guid.NewGuid().ToString(); switch (this.combConType.SelectedText.Trim()) { case "TCP": dbinfo.ConnectType = LibConnectType.TCP; break; case "HTTP": dbinfo.ConnectType = LibConnectType.HTTP; break; } switch (this.combDataBaseType.Text.Trim()) { case "SQL SERVER": dbinfo.ProviderType = LibProviderType.SqlServer; break; case "ORACLE": dbinfo.ProviderType = LibProviderType.Oracle; break; } help.BinaryWriteDBInfo(dbinfo); //MessageBox.Show(help.ExceptionMessage); ILibDBHelp dbhelp = new DBHelpFactory().GetDBHelp(dbinfo.ProviderType); if (dbhelp.SaveAccout(dbinfo)) { MessageBox.Show("保存成功"); } else { MessageBox.Show("保存出错"); } }
/// <summary> /// 加密链接字符串并保存到文件 /// </summary> /// <param name="info"></param> /// <param name="key"></param> private void EncryptWriteInfo(string info, string guid, string key, bool isSys) { try { StringBuilder builder = new StringBuilder(); FileOperation file = new FileOperation(); file.FilePath = _filePath; if (!File.Exists(_filePath)) { FileStream fi = File.Create(_filePath); fi.Close(); } string content = file.ReadFile(); //builder.Append(content); builder.Append(SysConstManage.DBInfoArraySeparator); builder.Append(string.Format("{0}{1}", isSys ? key : guid, SysConstManage.ColonChar)); builder.Append(DesCryptFactory.EncryptString(info, key)); builder.Append(SysConstManage.DBInfoArraySeparator2); if (isSys) { builder.Append(content); file.WritText(builder.ToString()); } else { file.WritText(string.Format("{0}{1}", content, builder.ToString())); } ExceptionMessage = file.ExceptionMessage; } catch (Exception ex) { ExceptionMessage = ex.Message; } finally { } }