songjun
2024-09-04 cc908053e0b5075fbfd27350b6da4b39bca9e550
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using System.Web;
 
namespace BatchService.Framework.Utility
{
    public class OpenAuthHelper
    {
        public class JsonData
        {
            public string Data { get; set; }
            public string DateTime { get; set; }
            public string Token { get; set; }
        }
        public class UserData
        {
            public string UserNo { get; set; }
            public string UserPassword { get; set; }
            public string UserCompany { get; set; }
        }
        /// <summary>
        /// 向通用权限管理模块提交用户请求
        /// </summary>
        /// <param name="url">通用权限管理模块网址</param>
        /// <param name="appName">应用英文名</param>
        /// <param name="postUserInfo">提交参数</param>
        /// <returns>1001:非法参数,1004:不存在的应用名,1005:非法的用户参数,1002:该用户不存在,1003:密码错误</returns>
        public string PostLogin(string url, string appName, UserData postUserInfo)
        {
            string userInfoString = JsonHelper.JsonSerializer<UserData>(postUserInfo);
            string jsonData = this.GetParameterData(userInfoString);
            var outgoingQueryString = HttpUtility.ParseQueryString(String.Empty);
            outgoingQueryString.Add("appName", appName);
            outgoingQueryString.Add("jsonData", jsonData);
            string postdata = outgoingQueryString.ToString();
            return HttpHelper.PostHttp(url, postdata);
        }
        public string GetParameterData(string jsonData)
        {
            string token = "";
 
            JsonData entity = new JsonData()
            {
                Data = jsonData,
                DateTime = DateTime.Today.ToString("yyyy-MM-dd"),
                Token = "",
            };
            token = JsonConvert.SerializeObject(entity);
            entity.Token = MD5Helper.MD5Encrypt(token);
 
            return JsonConvert.SerializeObject(entity);
        }
        public bool IsValid(string jsonData)
        {
            string ret = "";
            var entity = JsonConvert.DeserializeObject<JsonData>(jsonData);
            if (entity == null)
            {
                return false;
            }
            var tempToken = entity.Token;
            entity.Token = "";
            var md5 = MD5Helper.MD5Encrypt(JsonConvert.SerializeObject(entity));
            LogHelper.Debug(string.Format("Local MD5:{0},Remote MD5:{1}", md5, tempToken));
            return md5 == tempToken;
        }
        public string GetDataFromJson(string jsonData)
        {
            if (jsonData.Trim() == "")
            {
                return "";
            }
            return JsonConvert.DeserializeObject<JsonData>(jsonData).Data;
        }
    }
}