Не удается реализовать функцию «Помни меня» в FormsAuthentication - PullRequest
0 голосов
/ 23 января 2020

Я использую FormsAuthentication для регистрации. То, что я хочу, это когда пользователь выбирает опцию «Запомнить меня», чтобы параметр cook ie никогда не заканчивался. Моя проблема - всякий раз, когда я пытаюсь изменить время приготовления ie, либо Request.IsAuthenticated становится false с Response.Cookies[FormsAuthentication.FormsCookieName].Value равно null или Request.IsAuthenticated возвращает всегда true . Мои коды приведены ниже.

    [HttpPost]
    [AllowAnonymous]
    public ActionResult Login(PortalUserModel model)
    {
        if (ModelState.IsValid)
        {
            uzm_portaluser user = _defDal.GetPortalUser(model.Username, model.Password);
            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(user.Id.ToString(), true);
                if (model.isRemember)
                {
                    //Tried to increase expire time here using various ways but none of them worked

                }

                System.Web.HttpContext.Current.Session["user"] = user;
                return RedirectToAction(defaultAction, defaultController);
            }
            else
            {
                ViewBag.Error = "Wrong username or password";
                return RedirectToAction("Login", "Home");
            }
        }
        else
        {
            ViewBag.Error = "Wrong username or password";
            return RedirectToAction("Login", "Home");
        }
    }

Я пробовал их, но, как я уже сказал, ни один из них не работал.

{ ссылка }

(Этот Request.IsAuthenticated true, но Response.Cookies[FormsAuthentication.FormsCookieName] пуст. Большинство решений таковы

...