При указании пароля формата для учетных данных в web.config, как вы обрабатываете дешифрование? - PullRequest
1 голос
/ 25 февраля 2011

Если я настрою свое приложение для использования проверки подлинности с помощью форм и укажу учетные данные в web.config следующим образом:

<authentication mode="Forms">
  <forms loginUrl="~/LogOn" name=".ASPXAUTH" path="/" defaultUrl="~/AuthArea" timeout="2880">
    <credentials passwordFormat="MD5">
      <user name="user" password="user123" />
    </credentials>
  </forms>
</authentication>

Как мне тогда, в моем действии входа в систему проверить учетные данные?

if (FormsAuthentication.Authenticate(model.UserName, model.Password)) {

Нужно ли мне шифровать введенный пользователем пароль с помощью MD5? И если да, то как ты это делаешь?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Вам не нужно шифровать пароль при использовании FormsAuthentication.Authenticate. Ваш пароль в web.config должен быть зашифрован в MD5. вот код, который я использую:

public static string EncryptToMD5(this string helper)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            return BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(helper)));
        }
1 голос
/ 25 февраля 2011

Вы должны написать (или изменить) провайдера безопасности, чтобы зашифровать пароль и сравнить его с сохраненными учетными данными.Мой самый большой совет для вас - начать с существующего поставщика безопасности, такого как SqlServerRoleProvider (который подключен во всех новых проектах MVC / Web Forms в качестве поставщика по умолчанию).

Подробности можно найти здесь: http://msdn.microsoft.com/en-us/library/ff649314.aspx

К вашему сведению: провайдеры безопасности, предоставляемые M $, обрабатывают шифрование ПО УМОЛЧАНИЮ.Это означает, что вам не нужно писать его по индивидуальному заказу :-) Я бы сказал, начните с примера поставщика членства в SQL Server и таблиц базы данных и разветвитесь оттуда.

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