Лучший подход для хранения учетных данных для входа на сайт - PullRequest
4 голосов
/ 28 мая 2010

Я создал сайт в ASP.NET 3.5, и у меня есть только 2 или 3 идентификатора пользователя, которые могут войти на сайт.

Как лучше всего сохранить эти данные для входа? Какой из этих подходов или другие будут наиболее подходящими?

  1. Использование проверки подлинности с помощью форм и сохранение учетных данных (имя пользователя и пароль) в web.config
  2. для создания текстового файла в каталоге и его изменения

Какой подход лучше с точки зрения безопасности и обслуживания? Какие еще подходы подходят для системы входа в систему для ASP.NET?

Ответы [ 4 ]

8 голосов
/ 28 мая 2010

Использовать ASP.NET по умолчанию Sql членства . Ссылка покажет вам, как его использовать и настроить.

2 голосов
/ 28 мая 2010

У вас уже есть база данных? Если это так, используйте аутентификацию по формам и членство в ASP.NET , как все говорят. Это очень просто интегрировать в вашу текущую базу данных (при условии, что это сервер sql - я не знаю о других). Я понимаю, что добавление БД для 2 или 3 пользователей не всегда возможно из-за бюджета или чего-то еще, поэтому вы можете использовать проверку подлинности с помощью форм и сохранять пользователя в файле web.config. Я делал это в прошлом, и это очень просто.

Ваш web.config будет выглядеть так:

<authentication mode="Forms">
    <forms loginUrl="Login.aspx">
        <credentials passwordFormat="Clear">
            <user name="myUser" password="password" />
        </credentials>
    </forms>
</authentication>

Тогда вы можете использовать встроенные элементы управления входом. Если вы делаете это таким образом, вам нужно реализовать событие Autenticate.

    protected void Login1_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e)
    {
        string UserName = Login1.UserName;
        string Password = Login1.Password;

        if (FormsAuthentication.Authenticate(UserName, Password))
        {
            e.Authenticated = true;
        }
        else
        {
            e.Authenticated = false;
        }
    }

Конечно, это не самый безопасный способ сделать это, и вы, вероятно, захотите хотя бы взглянуть на шифрование учетных данных в файле web.config, но он прост и работает, когда база данных не вариант.

0 голосов
/ 28 мая 2010

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

0 голосов
/ 28 мая 2010

С ASP.NET вы можете использовать некоторые встроенные / предоставляемые поставщики аутентификации, которые позволяют вам управлять пользователями в базе данных, и она по умолчанию использует надлежащие рекомендации, такие как хеширование паролей и т. Д.

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