Как пройти аутентификацию на ASP.NET - PullRequest
1 голос
/ 15 мая 2009

Я разрабатываю приложение ASP.NET (c #), которое должно аутентифицировать пользователей. Для этого у меня есть база данных SQL Server с пользователями этого приложения.

Какой лучший способ сделать это?

Я читал это:

Как выполнить простую проверку подлинности с помощью форм

В примере я буду заменять этот код:

<script runat="server">
  void Logon_Click(object sender, EventArgs e)
  {
    if ((UserEmail.Text == "jchen@contoso.com") && 
            (UserPass.Text == "37Yj*99Ps"))
      {
          FormsAuthentication.RedirectFromLoginPage 
             (UserEmail.Text, Persist.Checked);
      }
      else
      {
          Msg.Text = "Invalid credentials. Please try again.";
      }
  }
</script>

С моим кодом объекта ADO.NET для поиска пользователя в базе данных. Это будет работать?

Другим способом является членство ([http://msdn.microsoft.com/en-us/library/tw292whz.aspx][2]), но я думаю, что это самый сложный путь.

Или, может быть, я могу использовать Windows Live ID, но я не знаю, как подключить Live ID к моей таблице пользователей.

Спасибо!

Ответы [ 3 ]

6 голосов
/ 15 мая 2009

Членство - это самый простой способ обеспечить аутентификацию IMO. Если вы заинтересованы в его использовании, я рекомендую Скотт Митчелл учебник :

3 голосов
/ 15 мая 2009

Одним из наиболее важных правил безопасности (№ 7 в первой десятке OWASP) НЕ является написание собственного механизма аутентификации, когда доступны проверенные и протестированные механизмы. Аутентификация ASP.Net проста в использовании, испытана и протестирована, и вы настраиваете себя на все виды боли, если идете по пути написания своего собственного механизма.

Топ-10 2007-сломанной аутентификации и управления сеансами

2 голосов
/ 15 мая 2009

Оба подхода будут работать, но рекомендованным способом будет внедрение собственного провайдера членства по двум причинам:

  1. Встроенные механизмы аутентификации .NET, вероятно, будут более надежными, чем у вас
  2. Позволяет подключить некоторые стандартные элементы управления .NET к вашей пользовательской базе данных.

На этой странице есть инструкции по реализации собственного провайдера членства

...