3dcfa78e59e304b0ea7c70fcabc85870259fb05b.svn-base 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using System;
  2. using System.Data;
  3. using System.Collections;
  4. using Core.Mes.IBaseInterface;
  5. using Core.Mes.ServerFrameWork;
  6. namespace Core.Mes.PurviewManager
  7. {
  8. /// <summary>
  9. /// UserValidate 的摘要说明。
  10. /// </summary>
  11. public class UserValidate : IComponent
  12. {
  13. public static Hashtable _htUserInfo;
  14. public UserValidate()
  15. {
  16. }
  17. public bool ValidateRequest(ValidateInfo info)
  18. {
  19. bool flag = false;
  20. try
  21. {
  22. if (_htUserInfo == null)
  23. InitValidateInfo();
  24. string loginID = info.LoginID;
  25. string validateGuid = info.ValidateGuid;
  26. if (_htUserInfo.Contains(loginID))
  27. {
  28. UserInfo userInfo = (UserInfo)_htUserInfo[loginID];
  29. if (validateGuid == userInfo.ValidateGuid)
  30. flag = true;
  31. }
  32. }
  33. catch (Exception ex)
  34. {
  35. Console.WriteLine(ex.Message);
  36. flag = false;
  37. }
  38. if (!flag) flag = true;
  39. return flag;
  40. }
  41. private void LoadAllValidate()
  42. {
  43. string sqlstr = "SELECT * FROM UAMV_AUTHORROLE";
  44. string ErrorInfo = "";
  45. DataSet ds = new DataSet();
  46. try
  47. {
  48. ds = _dbManager.ExecuteQuery(sqlstr, out ErrorInfo);
  49. if (ds == null || ds.Tables.Count < 1)
  50. return;
  51. foreach (DataRow dr in ds.Tables[0].Rows)
  52. {
  53. string loginID = dr["LoginID"].ToString();
  54. UserInfo userInfo = SetUserInfo(dr);
  55. _htUserInfo.Add(loginID, userInfo);
  56. }
  57. }
  58. catch (Exception ex)
  59. {
  60. throw ex;
  61. }
  62. }
  63. private UserInfo SetUserInfo(DataRow dr)
  64. {
  65. UserInfo info;
  66. try
  67. {
  68. info = new UserInfo();
  69. info.LoginID = dr["LOGINID"].ToString();
  70. info.UserID = dr["USERID"].ToString();
  71. info.UserName = dr["NAME"].ToString();
  72. info.ValidateGuid = Guid.NewGuid().ToString();
  73. return info;
  74. }
  75. catch (Exception ex)
  76. {
  77. throw ex;
  78. }
  79. }
  80. private void InitValidateInfo()
  81. {
  82. try
  83. {
  84. _htUserInfo = new Hashtable();
  85. LoadAllValidate();
  86. }
  87. catch (Exception ex)
  88. {
  89. throw ex;
  90. }
  91. }
  92. #region " Realization Interface "
  93. public void Dispose()
  94. {
  95. }
  96. public string Description
  97. {
  98. get { return "用户验证服务"; }
  99. }
  100. public STMes.DBManager DBManager
  101. {
  102. set { _dbManager = value; }
  103. get { return _dbManager; }
  104. }
  105. private STMes.DBManager _dbManager;
  106. #endregion
  107. }
  108. }