문제

구현하는 가장 좋은 방법은 무엇입니까 'remember me'ASP.NET 웹 사이트의 기능?

맞춤 쿠키를 사용해야합니까 아니면 더 간단한 방법이 있습니까?

도움이 되었습니까?

해결책

내장을 사용하고 있습니까? Authenication ASP.NET에서 제공하는 서비스? 그렇다면 꽤 쉽습니다.

다른 팁

나에게 솔루션은 브라우저 세션 쿠키 (ASP.NET 세션 쿠키와 혼동하지 않도록)와 지속적인 쿠키를 차별화하는 것이 었습니다. 만료가 낮은 쿠키를 설정하면 브라우저가 닫히고 RE가 기억되는 쿠키가 생성됩니다. -만료 시간 내에 열렸습니다. 다음은 저를 위해 작동합니다.

public void SetAuthenticationCookie(LoginView loginModel)
    {
      if (!loginModel.RememberMe)
      {
        FormsAuthentication.SetAuthCookie(loginModel.Email, false);
        return;
      }
      const int timeout = 2880; // Timeout is in minutes, 525600 = 365 days; 1 day = 1440.
      var ticket = new FormsAuthenticationTicket(loginModel.Email, loginModel.RememberMe, timeout);
      //ticket.
      string encrypted = FormsAuthentication.Encrypt(ticket);
      var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted)
        {
          Expires = System.DateTime.Now.AddMinutes(timeout),
          HttpOnly = true
        };
      HttpContext.Current.Response.Cookies.Add(cookie);
    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top