Подтвердить что ты не робот

Какое из трех свойств, управляющих временем жизни файла cookie, имеет приоритет?

Установив AuthenticationProperties.IsPersistent в true, мы сделаем аутентификацию cookie постоянной и, поскольку такой пользователь не должен аутентифицироваться снова при запуске нового сеанса

CookieAuthenticationOptions.ExpireTimeSpans определяет срок действия файла cookie.

AuthenticationProperties.ExpiresUtc задает дату истечения срока аутентификации

a) Я не уверен, что подразумевается под "датой истечения срока действия аутентификации". Возможно, приведенная выше цитата говорит о том, что ExpiresUtc определяет, как долго может быть использован cookie аутентификации для аутентификации, прежде чем пользователю снова потребуется войти в систему?

b) Если мое предположение в a) правильное, тогда, когда ExpireUtc будет достигнуто, cookie будет истекать, даже если:

  • IsPersistent == true и

  • сеанс еще не истек и

  • cookie еще не превысил срок службы, установленный ExpireTimeSpan?

c) Если для параметра IsPersistent установлено значение false, то, как только сессия истечет, cookie перестает действовать, даже если:

  • cookie еще не превысил срок службы, установленный ExpireTimeSpan и

  • аутентификация еще не достигла срока службы, установленного ExpireUtc?

d) Когда cookie превышает срок службы, установленный ExpireTimeSpan, cookie больше не действует, даже если:

  • IsPersistent == true и

  • сеанс еще не истек и

  • аутентификация еще не достигла срока службы, установленного ExpireUtc?

Благодарю вас

4b9b3361

Ответ 1

В случае Identity Framework существует свойство ExpireTimeSpan, и это указывает на время жизни файла cookie. Согласно приведенному ниже образцу, cookie будет признан недействительным через 24 часа.

    public static void ConfigureOAuthSettings(IAppBuilder app)
    {
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            SlidingExpiration = false,
            ExpireTimeSpan = TimeSpan.FromHours(24)
        });}

Если вы хотите получить более подробный код, посетите здесь