Вы можете установить глобальный тайм-аут сеанса (значение в минутах) в web.config, например
<system.web>
<authentication mode="Forms">
<forms timeout="20160"/>
</authentication>
</system.web>
Это будет для всех аутентифицированных пользователей. Если вы хотите использовать функцию «Запомнить меня», вам нужно будет написать собственный код для установки файла cookie / билета. Примерно так (взято отсюда ):
protected void Page_Load()
{
if (Request.Cookies["username"] == null || Request.Cookies["username"].Value.ToString().Trim() == "")
{
Login1.RememberMeSet = true;
}
else
{
Login1.UserName = Request.Cookies["username"].Value.ToString().Trim();
Login1.RememberMeSet = true;
}
}
protected void RememberUserLogin()
{
// Check the remember option for login
if (Login1.RememberMeSet == true)
{
HttpCookie cookie = new HttpCookie("username");
cookie.Value = Login1.UserName.Trim();
cookie.Expires = DateTime.Now.AddHours(2);
HttpContext.Current.Response.AppendCookie(cookie);
Login1.RememberMeSet = true;
}
else if (Login1.RememberMeSet == false)
{
HttpContext.Current.Response.Cookies.Remove("username");
Response.Cookies["username"].Expires = DateTime.Now;
Login1.RememberMeSet = false;
}
}
Добавить хэш-ключ или случайную строку как в файл cookie, так и в базу данных (оба с одним и тем же ключом). Если значение cookie и базы данных одинаковы, когда пользователь начинает новый сеанс, снова войдите в систему. По достижении пользователем двух недель удалите секретный ключ из базы данных с помощью задания cron (Unix) или запланированного задания (Windows).
Предупреждение: Не полагайтесь на дату истечения срока действия cookie, поскольку люди могут взломать их браузер.
Правило: НИКОГДА,
Просто используйте простой файл cookie со сроком действия 2 недели.