/// <summary> /// 登录 /// </summary> public void Login() { ReturnedLoginResult loginResult = CheckLogin(); UserContext user = new UserContext { LoginUser = GetUser(loginResult.result.account) }; SetUserRights(user, DACommonHelper.REPORT_SYS_ID); HttpContext.Current.Session[SessionKeyForUserInfo] = user; //输出登录凭证 ResponseCredentials(user.LoginUser.Account); //更新登录时间 DABasicInfoHelper.UpdateLastLoginTime(user.LoginUser.ID); //记录登录日志 DABasicInfoHelper.AddAdminLog( new AdminLog { Account = user.LoginUser.Account, AccountType = user.LoginUser.AccountType, AddTime = DateTime.Now, IP = currentClientIP, TrueName = user.LoginUser.TrueName, PageUrl = "Login.aspx", SystemID = DACommonHelper.REPORT_SYS_ID, Memo = "登录" }); //跳转至默认页 HttpContext.Current.Response.Redirect("/index.aspx"); }
/// <summary> /// 登录校验 /// </summary> /// <returns></returns> private ReturnedLoginResult CheckLogin() { string token = HttpContext.Current.Request["token"]; string ts = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd"); string sign = CryptoHelper.MD5_Encrypt(string.Format("sid={0}&ts={1}&key=5cee621329f24e5cbdc43daa995ce9a1", token, ts), "utf-8").ToLower(); string url = string.Format(UserLoginAuthUrl, token, HttpUtility.UrlEncode(ts), sign); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(ReturnedLoginResult)); ReturnedLoginResult loginResult = (ReturnedLoginResult)ser.ReadObject(stream); if (loginResult.code == 200) { return(loginResult); } throw new ToUserException(string.Format("{0}, {1}", loginResult.code, loginResult.msg)); } }