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; } } /// /// 向通用权限管理模块提交用户请求 /// /// 通用权限管理模块网址 /// 应用英文名 /// 提交参数 /// 1001:非法参数,1004:不存在的应用名,1005:非法的用户参数,1002:该用户不存在,1003:密码错误 public string PostLogin(string url, string appName, UserData postUserInfo) { string userInfoString = JsonHelper.JsonSerializer(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); 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).Data; } } }