You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.1 KiB

4 days ago
  1. using System;
  2. namespace NFine.Code
  3. {
  4. public class OperatorProvider
  5. {
  6. public static OperatorProvider Provider
  7. {
  8. get { return new OperatorProvider(); }
  9. }
  10. private string LoginUserKey = "nfine_loginuserkey_2016";
  11. private string LoginProvider = Configs.GetValue("LoginProvider");
  12. public OperatorModel GetCurrent()
  13. {
  14. OperatorModel operatorModel;
  15. if (LoginProvider == "Cookie")
  16. {
  17. operatorModel = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject<OperatorModel>();
  18. }
  19. else
  20. {
  21. if (WebHelper.GetCookie(LoginUserKey) == null)
  22. {
  23. operatorModel = new OperatorModel();
  24. }
  25. else
  26. {
  27. operatorModel = DESEncrypt.Decrypt(WebHelper.GetSession(LoginUserKey).ToString()).ToObject<OperatorModel>();
  28. }
  29. }
  30. return operatorModel ?? new OperatorModel();
  31. }
  32. public void AddCurrent(OperatorModel operatorModel)
  33. {
  34. if (LoginProvider == "Cookie")
  35. {
  36. WebHelper.WriteCookie(LoginUserKey, DESEncrypt.Encrypt(operatorModel.ToJson()), 500000);
  37. }
  38. else
  39. {
  40. WebHelper.WriteSession(LoginUserKey, DESEncrypt.Encrypt(operatorModel.ToJson()));
  41. }
  42. WebHelper.WriteCookie("nfine_mac", Md5.md5(Net.GetMacByNetworkInterface().ToJson(), 32));
  43. WebHelper.WriteCookie("nfine_licence", Licence.GetLicence());
  44. }
  45. public void RemoveCurrent()
  46. {
  47. if (LoginProvider == "Cookie")
  48. {
  49. WebHelper.RemoveCookie(LoginUserKey.Trim());
  50. }
  51. else
  52. {
  53. WebHelper.RemoveSession(LoginUserKey.Trim());
  54. }
  55. }
  56. public int IsTwoCurrent(OperatorModel operatorModel)
  57. {
  58. int isLogin = 0;
  59. OperatorModel operatorModels = new OperatorModel();
  60. operatorModels = DESEncrypt.Decrypt(WebHelper.GetCookie(LoginUserKey).ToString()).ToObject<OperatorModel>();
  61. if (LoginProvider == "Cookie")
  62. {
  63. if (operatorModels == null)
  64. {
  65. isLogin = 0;
  66. return isLogin;
  67. }
  68. else if (operatorModels.UserId == operatorModel.UserId)
  69. {
  70. isLogin = 0;
  71. return isLogin;
  72. }
  73. else
  74. {
  75. isLogin = 1;
  76. return isLogin;
  77. }
  78. }
  79. return isLogin;
  80. //else
  81. //{
  82. // WebHelper.WriteSession(LoginUserKey, DESEncrypt.Encrypt(operatorModel.ToJson()));
  83. //}
  84. //WebHelper.WriteCookie("nfine_mac", Md5.md5(Net.GetMacByNetworkInterface().ToJson(), 32));
  85. //WebHelper.WriteCookie("nfine_licence", Licence.GetLicence());
  86. }
  87. }
  88. }