Esempio n. 1
0
        /// <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");
        }
Esempio n. 2
0
        /// <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));
                }
        }