public ActionResult Edit(User user) { if (ModelState.IsValid) { //dbContext.AppRoles.Attach(user.AppRole); if (user.Id == 0) { dbContext.Users.Add(user); } else { //var userInDb = dbContext.Users.Include(u => u.AppRole) // .SingleOrDefault(u => u.Id == user.Id); var userInDb = dbContext.Users.Find(user.Id); bool wasChangedUserInDb = userInDb != user; if (wasChangedUserInDb) { AdminLogger.PostLogToDb(dbContext, userInDb, AdminLogger.CheckAction(userInDb, user)); } if (userInDb != null) { dbContext.Entry(userInDb).CurrentValues.SetValues(user); //userInDb.AppRole.Permissions = user.AppRole.Permissions; } } dbContext.SaveChanges(); return(RedirectToAction("Index")); } return(View(user)); }
/// <summary> /// 添加系统日志 /// </summary> /// <param name="description"></param> protected void AddLog(string description, AdminLoggerModuleEnum adminLoggerModuleEnum) { AdminLogger adminLogger = new AdminLogger(); adminLogger.AdminName = LoginAdmin.Name; adminLogger.Description = description; adminLogger.FromIP = IpHelper.UserHostAddress; adminLogger.Module = (int)adminLoggerModuleEnum; AdminLoggerService.Insert(adminLogger); }
public ActionResult Login() { Ocean.Entity.Admin admin = new Entity.Admin(); string adminName = Request["username"]; string adminPassword = Request["password"]; AdminLogger adminLogger = new AdminLogger(); adminLogger.AdminName = adminName; adminLogger.CreateDate = DateTime.Now; adminLogger.FromIP = IpHelper.UserHostAddress; adminLogger.Module = (int)AdminLoggerModuleEnum.Admin; if (adminName.Length == 0) { return(JsonMessage(false, "账号不能为空")); } if (adminPassword.Length == 0) { return(JsonMessage(false, "密码不能为空")); } admin = _adminService.GetAdminByName(adminName); if (admin == null) { adminLogger.Description = string.Format("账号不存在,登录失败"); _adminLoggerService.Insert(adminLogger); return(JsonMessage(false, "账号不存在")); } if (admin.Password != Hash.MD5Encrypt(Hash.MD5Encrypt(adminPassword))) { adminLogger.Description = string.Format("密码错误,登录失败"); _adminLoggerService.Insert(adminLogger); return(JsonMessage(false, "密码错误")); } else if (admin.State == 2) { adminLogger.Description = string.Format("账号已被冻结,登录失败"); _adminLoggerService.Insert(adminLogger); return(JsonMessage(false, "账号已被冻结,请与管理员取得联系")); } else { adminLogger.Description = string.Format("成功登录后台管理系统"); _adminLoggerService.Insert(adminLogger); AdminLogin.Instance.CreateAdminCookie(admin.Id, admin.Password, admin.PasswordKey, GlobalConfig.GetConfig()["SafeCode"]); admin.LastLoginDate = DateTime.Now; admin.LoginCount = admin.LoginCount + 1; admin.LastLoginIP = IpHelper.UserHostAddress; _adminService.Update(admin); return(JsonMessage(true, "登录成功")); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // Сбои при входе не приводят к блокированию учетной записи // Чтобы ошибки при вводе пароля инициировали блокирование учетной записи, замените на shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); var userName = model.Email; var currentUser = await dbContext.Users.SingleOrDefaultAsync((u => u.Email.ToLower().Equals(userName.ToLower()))); if (currentUser != null) { if (currentUser.IsBanned) { LogOff(); return(View("Lockout")); } } else { LogOff(); } switch (result) { case SignInStatus.Success: List <AdminAction> actions = new List <AdminAction>(); actions.Add(AdminAction.Login); AdminLogger.PostLogToDb(dbContext, currentUser, actions); return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Неудачная попытка входа."); return(View(model)); } }
public AdminLoggerDTO(AdminLogger adminLogger) { this.AdminName = adminLogger.AdminName; this.FromIP = adminLogger.FromIP; this.Description = adminLogger.Description; }
public WebControllerBase() { _adminLogger = new AdminLogger(); _errorLogger = new ErrorLogger(); _userLogger = new UserLogger(); }
/// <summary> /// Initializes a new instance of the <see cref="ApiControllerBase"/> class. /// </summary> public ApiControllerBase() { _adminLogger = new AdminLogger(); _errorLogger = new ErrorLogger(); _apiLogger = new APIResponseLogger(); }