Надежная проверка подлинности с помощью форм: это лучший способ? - PullRequest
2 голосов
/ 06 февраля 2012

Я ввел проверку подлинности на своем сайте, это прекрасно работает. Но это правильный и самый безопасный способ? Вот мой код ниже, когда пользователь входит в систему.

 FormsAuthentication.SetAuthCookie(User.ID.ToString(), true);

Я использовал имя, хранящееся в Auth Cookie, для заполнения страницы профиля и других разделов, для которых требуется идентификатор пользователя, например, регистрация:

 HttpContext.Current.User.Identity.Name

Это правильный способ реализации проверки подлинности с помощью форм? Или я далеко? Если да, то, как я полагаю, имеет место, предоставьте конструктивные комментарии или ссылку, которая показывает правильный способ реализации проверки подлинности на основе форм.

Спасибо

Ответы [ 3 ]

2 голосов
/ 06 февраля 2012

вы можете использовать FormsAuthenticationTicket для создания индивидуального билета.

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
    username,
    DateTime.Now,
    DateTime.Now.AddMinutes(30),
    isPersistent,
    userData,
    FormsAuthentication.FormsCookiePath);

  // Encrypt the ticket.
  string encTicket = FormsAuthentication.Encrypt(ticket);

для вашей информации: http://msdn.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.aspx

2 голосов
/ 06 февраля 2012

Да, это правильно.

Вы можете улучшить процесс, используя Членство в ASP.NET , которое связано с аутентификацией форм для управления профилями пользователей и ролями. Это делает большую работу для вас.

1 голос
/ 06 февраля 2012

Нет, вы не далеко. Это правильный способ сделать это, и вы используете HttpContext.Current.User.Identity.Name правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...