Продление срока действия файла cookie для проверки подлинности, чтобы пользователи оставались в системе. - PullRequest
0 голосов
/ 18 февраля 2019

Я бы хотел, чтобы пользователи входили в систему, если они продолжают пользоваться сайтом.Установка тайм-аута в web.config устанавливает только дату истечения срока действия с момента последнего входа в систему -

<authentication mode="Forms">
    <forms loginUrl="~/Account/User/SignIn" slidingExpiration="true" timeout="43200" defaultUrl="~/account/" />
</authentication>

Таким образом, через 30 дней они будут автоматически выходить из системы независимо от того, используют ли они веб-сайт каждый день.Сбрасывает ли срок годности на каждой странице загрузку правильного решения, например так -

HttpCookie cookie = Request.Cookies[".ASPXAUTH"];
if (!cookie.Value.IsEmpty())
{
    cookie.Expires = DateTime.Now.AddMinutes(Convert.ToInt32(43200));
    Response.Cookies.Set(cookie);
}

1 Ответ

0 голосов
/ 18 февраля 2019

Вы установили для свойства скользящего истечения значение true, поэтому вам не нужно ничего делать, кроме как ждать 15 дней для проверки.

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

Выше: microsoft .

Срок действия не будет сброшен, даже есливаш пользователь постоянно включен, пока не истечет хотя бы половина значения тайм-аута, поэтому в вашем случае это не будет выглядеть так, как будто вы работаете, пока вы не пройдете 15-й день.

Попробуйте через несколько часов и проверьте,он работает, или вы уже пробовали, и он не может быть сброшен?

Просто примечание, но, пожалуйста, внимательно рассмотрите безопасность вашего веб-сайта, так как установка такого длительного времени с истечением срока действия может потенциально создать гораздо большебезопасности, чем если бы вы были более строгими с контролем.Например, пусть срок его действия истекает через 30 дней, поэтому они должны повторно подтвердить подлинность или сократить время ожидания до дня или двух.Из руководств по безопасному кодированию OWASP они предлагают

Установить как можно более короткий интервал бездействия сеанса, основанный на балансе риска и требованиях к функциональным возможностям бизнеса.В большинстве случаев это должно быть не более нескольких часов.

...