public void AllowLoginTest() { string logString = "la=2;dt="+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Security security = new Security(5, 5); Assert.IsTrue(security.AllowLogin(logString)); logString = "la=1;dt=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsTrue(security.AllowLogin(logString)); logString = "la=100;dt=" + DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsTrue(security.AllowLogin(logString)); logString = "la=100;dt=" + DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsTrue(security.AllowLogin(logString)); logString = "la=100;dt=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsFalse(security.AllowLogin(logString)); logString = "la=11;dt=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsFalse(security.AllowLogin(logString)); logString = "la=6;dt=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsFalse(security.AllowLogin(logString)); logString = "la=5;dt=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsFalse(security.AllowLogin(logString)); logString = "la=5;dt=" + DateTime.Now.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsFalse(security.AllowLogin(logString)); logString = "la=5;dt=" + DateTime.Now.AddMinutes(-6).ToString("yyyy-MM-dd HH:mm:ss"); Assert.IsTrue(security.AllowLogin(logString)); logString = ""; Assert.IsTrue(security.AllowLogin(logString)); logString = null; Assert.IsTrue(security.AllowLogin(logString)); }
public void AllowLogin_FormatException4() { string logString = "la=2;"; Security security = new Security(5, 5); security.AllowLogin(logString); }
public void AllowLogin_FormatException6() { string logString = "la=-5;dt=2013-11-11 22:38:00"; Security security = new Security(5, 5); security.AllowLogin(logString); }
public ActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { var security = new Util.Security(5, 5); // TODO: retrieve settings from DB if (security.AllowLogin((string)Session["loginHistory"])) { ml_User user = _service.Load(model.userEmail, model.userPassword); if (user != null && user.ID > 0) { FormsAuthentication.SetAuthCookie(user.ID.ToString(), false); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.ID.ToString(), DateTime.Now, DateTime.Now.AddMinutes(60), false, ((Util.Enum.UserStatus)user.userStatus).ToString()); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket)); Response.Cookies.Add(cookie); Session["CurrentUser"] = user; return RedirectToAction("List", "Workout"); } else { Session["loginHistory"] = security.AddFailedLoginAttempt((string)Session["loginHistory"]); ModelState.AddModelError("", "Fehlerhafter Benutzername und/oder Passwort."); } } else { ModelState.AddModelError("", Resources.Translations.Home_Anonymous_LoginTimeout); } } return View(); }