コード例 #1
0
        public ActionResult Index(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                //MembershipChangeLater
                ASPNET_Membership.WebSecurity.MembershipLoginStatus status = ASPNET_Membership.WebSecurity.Login(model.UserName, model.Password, model.RememberMe);
                if (status == ASPNET_Membership.WebSecurity.MembershipLoginStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                        !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Site"));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #2
0
        public ActionResult _Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                ASPNET_Membership.WebSecurity.MembershipLoginStatus status = ASPNET_Membership.WebSecurity.Login(model.UserName, model.Password, model.RememberMe);
                if (status == ASPNET_Membership.WebSecurity.MembershipLoginStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    model.IsAuthenticated = true;
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }

            return(PartialView(model));
        }