ChangePasswordExcutor.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using System.Linq;
  6. using System.Text;
  7. using JLHHJSvr.BLL;
  8. using JLHHJSvr.Com;
  9. using JLHHJSvr.Com.Model;
  10. using JLHHJSvr.DBA.DBModle;
  11. using JLHHJSvr.LJException;
  12. using LJLib.DAL.SQL;
  13. using LJLib.Net.SPI.Server;
  14. using LJLib.Tools.DEncrypt;
  15. using LJLib.Tools.Encry;
  16. namespace JLHHJSvr.Excutor
  17. {
  18. internal sealed class ChangePasswordExcutor : ExcutorBase<ChangePasswordRequest, ChangePasswordResponse>
  19. {
  20. protected override void ExcuteInternal(ChangePasswordRequest request, object state, ChangePasswordResponse rslt)
  21. {
  22. //if (string.IsNullOrEmpty(request.newpassword))
  23. //{
  24. // rslt.ErrMsg = "新密码不能为空";
  25. // return;
  26. //}
  27. psw_bczh3 pswhelper = new psw_bczh3();
  28. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  29. using (var cmd = con.CreateCommand())
  30. {
  31. con.Open();
  32. var sys_power_key = "123457851239866";
  33. cmd.CommandText =
  34. @"select psw from u_user_jlhprice where userid = @userid";
  35. cmd.Parameters.Clear();
  36. cmd.Parameters.AddWithValue("@userid", request.userid);
  37. using (var reader = cmd.ExecuteReader())
  38. {
  39. if (reader.Read())
  40. {
  41. var psw = Convert.ToString(reader["psw"]).Trim();
  42. if (pswhelper.GetEntrypt(request.oldpassword, 0, sys_power_key) != psw) //BC493812B6664BECBF44C21C3BB043C4
  43. {
  44. rslt.ErrMsg = "当前密码错误";
  45. return;
  46. }
  47. }
  48. else
  49. {
  50. rslt.ErrMsg = "用户名不存在或密码错误";
  51. return;
  52. }
  53. }
  54. //if (!UserHelper.CheckL1LoginPasswordStrength(option707, request.newpassword))
  55. //{
  56. // string pswErr = string.Empty;
  57. // switch (option707)
  58. // {
  59. // case 3:
  60. // pswErr = "数字字母加特殊符号混合(至少8位长度校验)";
  61. // break;
  62. // case 2:
  63. // pswErr = "数字字母混合(至少6位长度校验)";
  64. // break;
  65. // case 1:
  66. // pswErr = "纯数字(至少6位长度校验)";
  67. // break;
  68. // }
  69. // rslt.ErrMsg = $"新密码强度不匹配,匹配规则:{pswErr}";
  70. // return;
  71. //}
  72. cmd.Transaction = cmd.Connection.BeginTransaction(IsolationLevel.ReadUncommitted);
  73. var pswd1 = pswhelper.GetEntrypt(request.newpassword, 0, sys_power_key);
  74. cmd.CommandText = @"update u_user_jlhprice
  75. set psw = @psw
  76. where userid = @userid";
  77. cmd.Parameters.Clear();
  78. cmd.Parameters.AddWithValue("@userid", request.userid);
  79. cmd.Parameters.AddWithValue("@psw", pswd1);
  80. if (cmd.ExecuteNonQuery() == 1)
  81. {
  82. cmd.Transaction.Commit();
  83. }
  84. else
  85. {
  86. cmd.Transaction.Rollback();
  87. rslt.ErrMsg = "修改失败,修改数量不为1";
  88. }
  89. }
  90. }
  91. }
  92. }