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 + "\"}"; } }
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"); } }
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(); } }