Пример #1
0
        private void AjaxLogin(string xname, string xpassword, HttpContext context)
        {
            try
            {
                var server = new MemberService();
                string password = DESEncrypt.Encrypt(xpassword, xname);
                var member = server.FirstOrDefault(m => m.UserName == xname && m.Password == password && m.IsDelete == false);
                if (member != null)
                {
                    if (member.IsUsing == false)
                    {
                        _response = "{\"result\" :\"" + 0 + "\",\"returnval\" :\"" + "用户已锁定,请联系管理员!" + "\"}";
                        return;
                    }
                    member.sys_MemberExtend.IsOnline = true;
                    member.sys_MemberExtend.LastLoginIP = GetIP;
                    member.sys_MemberExtend.LastLoginTime = DateTime.Now;

                    var ipserver = new ForbidIpService();
                    var ipList = ipserver.Where(i => i.IsUsing && i.IsDelete == false).ToList().Select(q => q.IP);
                    if (member.UserName != "admin" && ipList.Contains(member.sys_MemberExtend.LastLoginIP))
                    {
                        _response = "{\"result\" :\"" + 0 + "\",\"returnval\" :\"" + "您的IP地址已锁定,请联系管理员!" + "\"}";
                        return;
                    }

                    CreateFormsAuthenticationTicket(context, member, false, DateTime.Now.AddMinutes(120));
                    server.SaveChanges();
                    var loginlogservice = new LoginLogService();
                    var loginlog = new sys_LoginLog
                    {
                        Uid = member.id,
                        RealName = member.RealName,
                        Ip = GetIP,
                        Address = "",
                        Mac = "",
                        LoginTime = DateTime.Now
                    };
                    loginlogservice.Add(loginlog);
                    _response = "{\"result\" :\"" + 1 + "\",\"returnval\" :\"" + "登录成功,正在转到主页..." + "\"}";
                }
                else
                    _response = "{\"result\" :\"" + 0 + "\",\"returnval\" :\"" + "用户名或者密码不正确!" + "\"}";

            }
            catch (Exception ex)
            {
                _response = "{\"result\" :\"" + 0 + "\",\"returnval\" :\"" + ex.Message + "\"}";
            }

        }
Пример #2
0
        protected void Application_Error(object sender, EventArgs e)
        {
            var context = HttpContext.Current;
            if (context != null)
            {
                Exception ex = HttpContext.Current.Server.GetLastError();
                //if (ex.Message == "授权已到期,请联系管理员。")
                //{
                //    context.Response.Redirect("~/Login.html");
                //    return;
                //}

                var logservice = new ErrorLogService();
                var memberservice = new MemberService();
                int uid = Convert.ToInt32(context.User.Identity.Name);
                var member = memberservice.FirstOrDefault(m => m.id == uid);
               
                var errorlog = new sys_ErrorLog
                {
                    uid = member.id,
                    RealName = member.RealName,
                    LogContent = ex.InnerException.Message,
                    Ip = GetIP,
                    LogTime = DateTime.Now
                };
                logservice.Add(errorlog);

                var errorcontent = new StringBuilder();
                errorcontent.AppendLine(string.Format("<b>发生时间:</b>{0}<br/><br/>", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")));
                errorcontent.AppendLine(string.Format("<b>错误描述:</b>{0}<br/><br/>", ex.Message.Replace("\r\n", "")));
                errorcontent.AppendLine(string.Format("<b>错误对象:</b>{0}<br/><br/>", ex.Source));
                errorcontent.AppendLine(string.Format("<b>错误页面:</b>{0}<br/><br/>", HttpContext.Current.Request.Url));
                errorcontent.AppendLine(string.Format("<b>浏览器IE:</b>{0}<br/><br/>", HttpContext.Current.Request.UserAgent));
                errorcontent.AppendLine(string.Format("<b>服务器IP:</b>{0}<br/><br/>", HttpContext.Current.Request.ServerVariables.Get("Local_Addr")));
                errorcontent.AppendLine(string.Format("<b>方法名称:</b>{0}<br/><br/>", ex.TargetSite));
                errorcontent.AppendLine(string.Format("<b>C#类名称:</b>{0}<br/><br/>", ex.TargetSite.DeclaringType));
                errorcontent.AppendLine(string.Format("<b>成员变量:</b>{0}<br/><br/>", ex.TargetSite.MemberType));

                Cookie.SetObj("ERRORINFO", errorcontent.ToString());
                Server.ClearError();

                //出错画面处理
                context.Response.Redirect("~/ErrorPage.aspx");
            }
        }
Пример #3
0
 protected void lbtnLoginOut_Click(object sender, EventArgs e)
 {
     try
     {
         var server = new MemberService();
         var m = server.FirstOrDefault(p => p.id == BaseUid);
         if (m != null)
             m.sys_MemberExtend.IsOnline = false;
         server.SaveChanges();
     }
     catch { }
     finally
     {
         FormsAuthentication.SignOut();
         Session.Abandon();
         Session.Clear();
         FormsAuthentication.RedirectToLoginPage();
     }
 }