как сделать автоматический вход пользователя

вот что я пытаюсь сделать:

  1. пользователь входит в систему и проверяет, помнит ли меня.
  2. после этого пользователь закрывает сайт.
  3. в следующий раз, когда пользователь посещает сайты, он автоматически входит в систему без повторного ввода своего имени пользователя или пароля.

Благодарность

используя asp.net 3.5. с использованием проверки подлинности с помощью форм


person Wahtever    schedule 05.05.2011    source источник
comment
Используете ли вы проверку подлинности с помощью форм?   -  person Bala R    schedule 05.05.2011
comment
@Bala R - да, я использую аутентификацию с помощью форм   -  person Wahtever    schedule 05.05.2011
comment
К сведению: функция «запомнить меня» — это не автоматический повторный вход в систему, а файл cookie с длительным сроком действия. Итак, вы все еще вошли в систему.   -  person John Hoven    schedule 05.05.2011
comment
Вы должны получить это автоматически, используя стандартный механизм аутентификации, предоставляемый ASP.Net. При необходимости он установит файл cookie.   -  person Tomas McGuinness    schedule 05.05.2011


Ответы (2)


Когда вы вызываете FormsAuthentication.SetAuthCookie(), вы можете установить для второго параметра значение true, чтобы сделать так, чтобы куки сохранялись в течение очень долгого времени.

person Bala R    schedule 05.05.2011
comment
я пробовал это, но у меня не сработало FormsAuthentication.SetAuthCookie(mainLogin.UserName, true); FormsAuthentication.SetAuthCookie(mainLogin.Password, true); - person Wahtever; 05.05.2011

В зависимости от вашей модели аутентификации у меня есть процесс аутентификации вручную, под этим я подразумеваю, что у меня есть сайт, вся модель аутентификации которого была закодирована с нуля, чтобы соответствовать веб-сайту.
Встроенный .net не используется.

Мы храним функцию автоматического входа в наш файл cookie. Это делается путем добавления имени пользователя и пароля для входа в файл cookie, но все имена ключей и значения в файле cookie зашифрованы тройным шифрованием. Таким образом, в маловероятном случае расшифровки файла cookie они сталкиваются с тройным шифрованием, чтобы получить учетные данные пользователя.

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

Проще использовать встроенную модель аутентификации .net, но для максимального контроля можно использовать DIY.

person Andre Pageot    schedule 02.06.2011