예제 #1
0
        protected void Application_Error(object sender, EventArgs e)
        {
            var       errorLogPath = Server.MapPath("/TempFile/ErrorLogPath");
            var       errorPage    = "/CustomPage/error.html";
            Exception ex           = null;

            try
            {
                ex = Server.GetLastError().GetBaseException();

                var sysSettingEntity = new SysGlobalSettingBiz().GetSysSettingEntity();
                errorLogPath = Server.MapPath(sysSettingEntity.ErrorLogPath);
                errorPage    = sysSettingEntity.ErrorPage;

                BcUserInfoEntity userInfo = null;
                var identity = HttpContext.Current.User.Identity as FormsIdentity;
                if (identity != null)
                {
                    userInfo = new BcUserInfoBiz().GetBcUserInfoWithPermission(identity.Ticket.UserData);
                }

                var entity = new BcLogErrorEntity();
                if (userInfo != null)
                {
                    entity.UserId   = userInfo.UserId;
                    entity.UserName = userInfo.UserName;
                }
                else
                {
                    entity.UserId   = 0;
                    entity.UserName = "";
                }
                entity.OpUrl         = Request.Url.ToString();
                entity.OpTime        = DateTime.Now;
                entity.OpHostAddress = Request.UserHostAddress;
                entity.OpHostName    = Request.UserHostName;
                entity.OpUserAgent   = Request.UserAgent;
                entity.OpQueryString = Request.QueryString.ToString();
                entity.OpHttpMethod  = Request.HttpMethod;
                entity.Message       = ex.ToString();

                try
                {
                    new BcLogErrorBiz().AddNewBcLogError(entity);
                }
                catch (Exception ex2)
                {
                    WriteLocalLog(errorLogPath, ex.ToString());
                    WriteLocalLog(errorLogPath, ex2.ToString());
                }
            }
            catch (Exception ex3)
            {
                if (ex != null)
                {
                    WriteLocalLog(errorLogPath, ex.ToString());
                }
                WriteLocalLog(errorLogPath, ex3.ToString());
            }
            finally
            {
                if (!ConfigHelper.GetConfigBool("IsDevelopMode"))
                {
                    Server.ClearError();
                    Response.Redirect(errorPage);
                }
            }
        }
예제 #2
0
        protected void submit_Click(object sender, EventArgs e)
        {
            var usId = name.Text.Trim();
            var pswd = password.Text.Trim();

            if (string.IsNullOrEmpty(usId))
            {
                ShowErrorMsg("登录失败,用户名不能为空!");
                return;
            }

            if (string.IsNullOrEmpty(pswd))
            {
                ShowErrorMsg("登录失败,密码不能为空!");
                return;
            }

            Session.Clear();

            Response.Cookies["webfwu"].Value   = usId;
            Response.Cookies["webfwu"].Expires = DateTime.Now.AddMonths(2);

            if (remember.Checked)
            {
                Response.Cookies["webfwp"].Value   = pswd;
                Response.Cookies["webfwp"].Expires = DateTime.Now.AddMonths(2);
            }
            else
            {
                Response.Cookies["webfwp"].Value = "";
            }

            var uiBiz  = new BcUserInfoBiz();
            var result = uiBiz.DoLogin(usId, pswd);

            switch (result)
            {
            case LoginStatusEnum.Success:
                FormsAuthentication.SetAuthCookie(usId, false);
                //登陆成功,把用户编号保存到票据中
                var ticket = new FormsAuthenticationTicket(1, usId, DateTime.Now, DateTime.Now.AddMonths(2), false,
                                                           usId, FormsAuthentication.FormsCookiePath);
                var encTicket = FormsAuthentication.Encrypt(ticket);
                var newCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                HttpContext.Current.Response.Cookies.Add(newCookie);
                //登陆成功,跳转到首页
                Response.Redirect(ReturnUrl);
                break;

            case LoginStatusEnum.PasswordError:
                ShowErrorMsg("登录失败,密码错误!");
                break;

            case LoginStatusEnum.UserNotExist:
                ShowErrorMsg("登录失败,用户名不存在!");
                break;

            case LoginStatusEnum.UserDisabled:
                ShowErrorMsg("登录失败,用户被禁用!");
                break;

            default:
                ShowErrorMsg("登录失败,请重试!");
                break;
            }
        }