public static CacheUser GetAuthorizeUser(out string msg) { msg = ""; CacheUser user = null; user = HttpContext.Current.Session["CacheUser"] as CacheUser; if (user == null) { if (HttpContext.Current.Request.Headers != null && !string.IsNullOrEmpty(HttpContext.Current.Request.Headers.Get("Ticket"))) { string ticket = CommFunc.ConvertDBNullToString(HttpContext.Current.Request.Headers.Get("Ticket")); int len = ticket.Length; if (len >= 14) { string flag = CommFunc.ConvertDBNullToString(ticket.Substring(10, 1)); int seed = CommFunc.CharToNuner(flag); string kk = CommFunc.ConvertDBNullToString(ticket.Substring(11, len - 11)); string[] arr = kk.Split(new string[] { flag }, StringSplitOptions.RemoveEmptyEntries); bool isPass = true; int ledger = 0, uid = 0; if (arr.Count() != 2) { msg = "Ticket信息错误"; isPass = false; } if (isPass == true) { ledger = CommFunc.ConvertDBNullToInt32(arr[0]) - seed; uid = CommFunc.ConvertDBNullToInt32(arr[1]) - seed; if (ledger <= 0 && uid < 0) { msg = "Ticket包含错误信息"; isPass = false; } } if (isPass == true) { string ccKey = ledger.ToString() + "A" + uid.ToString(); string ss = HttpContext.Current.Request.RawUrl; if (ss.Contains("api/ExpApp/")) { ccKey = ledger.ToString() + "APP" + uid.ToString(); } else if (ss.Contains("api/ExpAdminApp/")) { ccKey = ledger.ToString() + "AdminApp" + uid.ToString(); } user = HttpRuntime.Cache.Get(ccKey) as CacheUser; } //int seed = CommFunc.ConvertDBNullToInt32(ticket.Substring(10, 3)); //int uid = CommFunc.ConvertDBNullToInt32(ticket.Substring(13, 7)) - seed; //user = HttpRuntime.Cache.Get(uid.ToString()) as CacheUser; } } else { msg = "没有Ticket信息"; } } //if (user == null && HttpContext.Current.Request.Url.Host.ToLower().Equals("localhost")) //{/*本地代码执行*/ // user = new CacheUser(); // user.Ledger = WebConfig.Ledger; // user.Uid = 1; //} return(user); }