То, как я Сохраняю пользователя, вошло в систему в течение 2 недель?

4 ответа

Вы можете установить глобальный тайм-аут сеанса (значение в минутах) в 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; 
    }

}
4
ответ дан 5 December 2019 в 06:54
поделиться

Добавить хэш-ключ или случайную строку как в файл cookie, так и в базу данных (оба с одним и тем же ключом). Если значение cookie и базы данных одинаковы, когда пользователь начинает новый сеанс, снова войдите в систему. По достижении пользователем двух недель удалите секретный ключ из базы данных с помощью задания cron (Unix) или запланированного задания (Windows).

Предупреждение: Не полагайтесь на дату истечения срока действия cookie, поскольку люди могут взломать их браузер.
Правило: НИКОГДА,

17
ответ дан 5 December 2019 в 06:54
поделиться

Просто используйте простой файл cookie со сроком действия 2 недели.

2
ответ дан 5 December 2019 в 06:54
поделиться

Вы это видели?

http://forums.asp.net/t/1440824.aspx

Аналогично тому, что предложил Конинг.

1
ответ дан 5 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: