Admin auth functionally complete

This commit is contained in:
2012-12-31 14:49:41 -05:00
parent 8739251066
commit 2ec2a752cd
30 changed files with 260 additions and 79 deletions
+22 -9
View File
@@ -1,6 +1,7 @@
using System;
using System.Web.Mvc;
using System.Web.Security;
using MileageTraker.Web.DAL;
using MileageTraker.Web.ViewModels.Account;
namespace MileageTraker.Web.Controllers
@@ -22,17 +23,28 @@ namespace MileageTraker.Web.Controllers
{
if (ModelState.IsValid)
{
var success = Membership.ValidateUser(model.Username, model.Password);
if (success)
try
{
FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe);
TempData["StatusMessage"] = "Logged in as " + model.Username;
return RedirectToLocal(returnUrl);
var success = Membership.ValidateUser(model.Username, model.Password);
if (success)
{
FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe);
TempData["StatusMessage"] = "Logged in as " + model.Username;
return RedirectToLocal(returnUrl);
}
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
catch (UserAccountDisabledException)
{
ModelState.AddModelError("", "Account is disabled for " + model.Username + ".");
}
catch (UserLockedOutException)
{
ModelState.AddModelError("", "Too many failed password attempts for " + model.Username + ". Account is locked.");
}
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
@@ -40,9 +52,10 @@ namespace MileageTraker.Web.Controllers
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
TempData["StatusMessage"] = User.Identity.Name + " logged off";
FormsAuthentication.SignOut();
TempData["StatusMessage"] = "Logged off";
return RedirectToAction("Index", "CreateLog");
}
@@ -81,7 +94,7 @@ namespace MileageTraker.Web.Controllers
ViewBag.StatusMessage =
message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed."
: message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
: "";
: null;
ViewBag.ReturnUrl = Url.Action("Manage");
return View();
}
@@ -108,7 +121,7 @@ namespace MileageTraker.Web.Controllers
if (changePasswordSucceeded)
{
TempData["StatusMessage"] = ManageMessageId.ChangePasswordSuccess;
TempData["StatusMessage"] = "Your password has been changed.";
return RedirectToAction("Manage");
}
ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");