Beispiel #1
0
        private void Login(HttpContext context)
        {
            try
            {
                string account = RequestHelper.GetString("account");
                string pwd     = RequestHelper.GetString("pwd");
                string url     = RequestHelper.GetUrlReferrer();

                //判断登录错误次数
                if (context.Session["LoginNum"] != null && Convert.ToInt32(context.Session["LoginNum"]) > 5)
                {
                    context.Response.Write("{\"status\":\"0\",\"msg\":\"错误超过5次,关闭浏览器重新登录!\"}");
                    return;
                }
                if (account.Trim() == "")
                {
                    WriteError(context);
                    context.Response.Write("{\"status\":\"0\",\"msg\":\"账号不能为空!\"}");
                    return;
                }
                if (pwd.Trim() == "")
                {
                    WriteError(context);
                    context.Response.Write("{\"status\":\"0\",\"msg\":\"密码不能为空!\"}");
                    return;
                }
                if (url.Trim() == "")
                {
                    WriteError(context);
                    context.Response.Write("{\"status\":\"0.1\",\"msg\":\"非法传入页面!\"}");
                    return;
                }
                String domain = Utils.GetUrlDomain(url).ToLower();
                if (domain != "localhost" || RequestHelper.GetIP() != "127.0.0.1")
                {
                    Model.System.sys_Config configModel = new BLL.System.sys_Config().loadConfig();
                    string[] domainArray = (configModel.webinsideurl + "," + configModel.weburl).Split(',');
                    if (domain == "" || !domainArray.Contains(domain))
                    {
                        WriteError(context);
                        context.Response.Write("{\"status\":\"0.1\",\"msg\":\"非法传入页面!\"}");
                        return;
                    }
                }
                BLL.System.sys_Person      bll   = new BLL.System.sys_Person();
                Model.System.sys_LoginUser model = bll.GetModel(account, pwd, true);
                if (model == null)
                {
                    WriteError(context);
                    context.Response.Write("{\"status\":\"0\",\"msg\":\"用户名或密码有误,请重试!\"}");
                    return;
                }
                model.Salt      = Utils.GetLetterOrNumberRandom(10);
                model.LoginTime = DateTime.Now;
                model.LoginIP   = RequestHelper.GetIP();
                // 保存登录人的Sessin
                context.Session[Keys.SESSION_LoginUser] = model;
                context.Session.Timeout = 45;
                //写入登录日志
                string operaAction = Enums.ActionEnum.Login.ToString();
                string operaMemo   = "用户登录";
                BaseWeb.AddOpera(model, 0, operaAction, operaMemo);


                context.Response.Write("{\"status\":\"1\",\"msg\":\"权限获取成功!\",\"userName\":\"" + model.PerName + "\",\"loginSalt\":\"" + model.Salt + "\"}");
            }
            catch (Exception e)
            {
                context.Response.Write("{\"status\":\"0\",\"msg\":\"" + e.Message + "\"}");
            }
        }
Beispiel #2
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //判断登录错误次数
            if (Session["LoginNum"] != null && Convert.ToInt32(Session["LoginNum"]) > 5)
            {
                msgtip.InnerHtml         = "错误超过5次,请关闭浏览器重新登录!";
                tipsDiv.Style["display"] = "";
                return;
            }

            string userAccount = txtAccount.Text.Trim();
            string userPwd     = txtPassword.Text.Trim();

            if (userAccount.Equals(""))
            {
                msgtip.InnerHtml         = "请输入账号!";
                tipsDiv.Style["display"] = "";
                txtAccount.Focus();
                CalErrNum();
                return;
            }
            if (userPwd.Equals(""))
            {
                msgtip.InnerHtml         = "请输入密码!";
                tipsDiv.Style["display"] = "";
                txtPassword.Focus();
                CalErrNum();
                return;
            }


            BLL.System.sys_Person      bll   = new BLL.System.sys_Person();
            Model.System.sys_LoginUser model = bll.GetModel(userAccount, userPwd, true);
            if (model == null)
            {
                msgtip.InnerHtml         = "账号或密码错误!";
                tipsDiv.Style["display"] = "";
                txtPassword.Focus();
                CalErrNum();
                return;
            }
            model.Salt      = Utils.GetLetterOrNumberRandom(10);
            model.LoginTime = DateTime.Now;
            model.LoginIP   = RequestHelper.GetIP();

            // 保存登录人的Sessin
            Session[Keys.SESSION_LoginUser] = model;
            Session.Timeout = 45;
            //写入登录日志
            string operaAction = Enums.ActionEnum.Login.ToString();
            string operaMemo   = "用户登录";

            BaseWeb.AddOpera(model, 0, operaAction, operaMemo);

            ////写入Cookies
            Utils.WriteCookie("SCZMLoginSalt", model.Salt);
            Utils.WriteCookie("SCZMAccount", userAccount, 43200);
            Utils.WriteCookie("SCZMUserName", model.PerName);
            Utils.WriteCookie("SCZMUserId", model.ID.ToString());
            Utils.WriteCookie("SCZMDepId", model.DepId.ToString());
            Response.Redirect("index.html");
        }