Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }