Аутентификация пользователя без Состояния сеанса в ASP.NET

Да!

К вашему сведению - использование атрибутов имени в формах не рекомендуется для идентификатора в HTML5. См. примечание MDN об этом .

Имя формы. В HTML 4 его использование устарело (вместо него следует использовать id). Он должен быть уникальным среди форм в документе, а не просто пустой строкой в ​​HTML 5.

blockquote>

Исправления :

  1. исправлена ​​опечатка из более ранней публикации на мобильном телефоне, из-за которой казалось, что я предлагал атрибуты имен устареть.
  2. Добавлена ​​цитата из MDN

7
задан frankadelic 3 April 2009 в 23:28
поделиться

3 ответа

Аутентификация Форм ASP.NET не использует SessionState. Это использует cookie для хранения билета аутентификации.

Можно также вынудить билет аутентификации быть отправленным по каналу SSL путем редактирования web.config файл.

Вся функциональность, в которой Вы нуждаетесь, доступна встроенный в ASP.NET.

http://msdn.microsoft.com/en-us/library/aa480476.aspx

12
ответ дан 6 December 2019 в 15:31
поделиться

Да, можно использовать cookie.

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

Для cookie можно добавить метку времени и зашифровать значения cookie. Я обычно не управляю состоянием аутентификации пользователя. Я использую созданный в классах FormsAuthentication, управляют тем аспектом моих веб-приложений.

Большие сайты, такие как: Myspace и Живой Поисковый Клуб, только полагайтесь на cookie как на управление состоянием.

0
ответ дан 6 December 2019 в 15:31
поделиться

Несомненно, cookie сделает это.

Думайте об основных принципах. Состоянием сеанса управляют cookie так или иначе.

Вот то, что Вы делаете.

Когда они входят в систему, Вы берете их идентификатор пользователя и тайм-аут (таким образом, вход в систему только длится в течение, скажем, 30 минут или безотносительно).

Возьмите ту строку и хешируйте ее.

(Java, не важный tho)

String cookie = userid + ":" + timeString + ":" + md5(userid + ":" + timeString + ":" + "secretpassword");

Затем когда запрос поразит Ваш сайт, проверьте cookie. Сначала проверьте его на целостность.

String parts[] = cookie.split(":");
String newHash = md5(parts[0] + ":" + parts[1] + ":" + "secret password");
if (!newHash.equals(parts[2])) {
    // boom, cheater!
}

Затем проверьте строку времени, чтобы видеть, "зарегистрированы" ли они все еще и идут оттуда.

Удостоверьтесь, делаете ли Вы вещь времени обновить cookie по каждому запросу.

2
ответ дан 6 December 2019 в 15:31
поделиться
Другие вопросы по тегам:

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