protected override void Initialize(RequestContext requestContext) { if (MembershipService == null) { MembershipService = new EMembershipProviderRepository(); } if (AuthorizationService == null) { AuthorizationService = new ERoleProviderRepository(); } if (Roles == null) { Roles = new ERoleProviderRepository(); } base.Initialize(requestContext); }
public ActionResult LogOn(LogOnModel model, string returnUrl) { string user = model.Email; double myNum = 0; if (Double.TryParse(model.Email, out myNum)) //Add phone provider to email login { var pd = entities.users.SingleOrDefault(e => e.Email.Contains(model.Email)); if (pd != null) { int len = pd.Email.Length; int i = pd.Email.IndexOf("@"); string provider = pd.Email.Substring(i, len - i); string fullEmail = string.Format("{0}{1}", model.Email, provider); model.Email = fullEmail; user = fullEmail; } } else { // it is not a number } if (ModelState.IsValid) { if (MembershipService.ValidateUser(model.Email, model.Password)) { Roles = new ERoleProviderRepository(model.Email); user _user = MembershipService.GetUser(model.Email); System.Web.HttpContext.Current.Session["personID"] = _user.PersonID; System.Web.HttpContext.Current.Session["email"] = model.Email; System.Web.HttpContext.Current.Session["OldPassword"] = model.Password; _user.role = Roles.GetRole(_user.RoleID); System.Web.HttpContext.Current.Session["memberRole"] = _user.role.Name; //FormsAuthentication.SetAuthCookie(model.Email, model.RememberMe); Session["MyMenu"] = null; member member = db.members.Find(_user.PersonID); FormsAuthentication.SetAuthCookie(model.Email, true); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } else if (Roles.IsUserInRole(user, "WebMaster")) { return(RedirectToAction("WebMaster", "Home")); } else if (Roles.IsUserInRole(user, "Register")) { return(RedirectToAction("Register", "Account", new {})); } else if (Roles.IsUserInRole(user, "Member") || Roles.IsUserInRole(user, "Officer")) { return(RedirectToAction("MyPage2", "Member")); } else if (Roles.IsUserInRole(user, "Admin") || Roles.IsUserInRole(user, "Admin2")) { return(RedirectToAction("WebMaster", "Home")); } else if (Roles.IsUserInRole(user, "Staff")) { return(RedirectToAction("Index", "Home")); } else if (Roles.IsUserInRole(user, "Pastor")) { return(RedirectToAction("PastorDashBoard", "Income")); } else if (Roles.IsUserInRole(user, "FinanceStaff") || Roles.IsUserInRole(user, "FinanceLead")) { return(RedirectToAction("Finance", "Home")); } else { return(RedirectToAction("Index", "Home")); } } else { TempData["Message5"] = "Incorrect user name or password."; return(RedirectToAction("LogOn", "Account")); } } // If we got this far, something failed, redisplay form return(PartialView(model)); }