LoginExcutor.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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.DBA.DBModle;
  10. using LJLib.DAL.SQL;
  11. using LJLib.Net.SPI.Server;
  12. using LJLib.Tools.DEncrypt;
  13. using LJLib.Tools.Encry;
  14. namespace JLHHJSvr.Excutor
  15. {
  16. internal sealed class LoginExcutor : ExcutorBase<LoginRequest, LoginResponse>
  17. {
  18. protected override void ExcuteInternal(LoginRequest request, object state, LoginResponse rslt)
  19. {
  20. if (string.IsNullOrEmpty(request.usercode))
  21. {
  22. rslt.ErrMsg = "用户名不能为空";
  23. return;
  24. }
  25. //if (string.IsNullOrEmpty(request.psw))
  26. //{
  27. // rslt.ErrMsg = "密码不能为空";
  28. //}
  29. u_user_jlhprice stUser = new u_user_jlhprice();
  30. rslt.rsltFunids = new List<int>();
  31. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  32. using (var cmd = con.CreateCommand())
  33. {
  34. con.Open();
  35. if (DbSqlHelper.SelectOne(cmd, "u_user_jlhprice", "userid = @usercode",
  36. new Dictionary<string, object>() {{"@usercode", request.usercode}}, stUser,
  37. "userid, empid, username, usermode, psw") != 1)
  38. {
  39. rslt.ErrMsg = "用户名不存在或密码错误";
  40. return;
  41. }
  42. psw_bczh3 pswhelper = new psw_bczh3();
  43. if (pswhelper.GetEntrypt(request.psw, 0, "123457851239866") != stUser.psw)
  44. {
  45. rslt.ErrMsg = "用户名不存在或密码错误";
  46. return;
  47. }
  48. rslt.rsltFunids = UserHelper.FilterMyFunids(cmd, stUser.empid);
  49. }
  50. string token = Guid.NewGuid().ToString();
  51. rslt.token = token;
  52. rslt.username = stUser.username;
  53. rslt.usercode = stUser.userid;
  54. rslt.empid = stUser.empid;
  55. rslt.usermode = stUser.usermode;
  56. var tokenData = new TokenData
  57. {
  58. empid = stUser.empid,
  59. usercode = stUser.userid,
  60. userid = stUser.empid,
  61. username = stUser.username,
  62. usermode = stUser.usermode
  63. };
  64. BllHelper.SetToken(token,tokenData);
  65. }
  66. }
  67. }