Как использовать FormsAuthentication с логинами, хранящимися в таблице БД SQL Server? - PullRequest
1 голос
/ 23 сентября 2011

Я создаю новое веб-приложение в ASP.NET (в C #), используя FormsAuthentication для входа в систему. В настоящее время действует стандартная настройка FormsAuthentication с именами пользователей и паролями, указанными в файле web.config, как обычно, и эта настройка работает отлично. Тем не менее,

Я хотел бы связать эту настройку входа в систему с таблицей SQL Server в базе данных. В этой таблице хранятся данные учетной записи для каждого пользователя, включая имя пользователя и пароль. По сути, я хотел бы найти способ, чтобы следующая строка кода искала имя пользователя и пароль в этой таблице БД, а не в web.config, как это обычно делается:

FormsAuthentication.Authenticate (txt_username.Text, txt_password.Text);

Но я не знаю, как именно это сделать. Я читал о Membership.ValidateUser, но я все еще не могу найти, как использовать это для ссылки на имена пользователей и пароли в таблице пользователей в базе данных.

Любая помощь будет высоко оценена! (Кстати, это мой первый пост, поэтому, пожалуйста, не стесняйтесь указывать на любые ошибки нуба, которые я мог совершить).

1 Ответ

1 голос
/ 23 сентября 2011

Вам необходимо реализовать пользовательский MembershipProvider.

MembershipProvider - это механизм, который ваше приложение будет использовать для аутентификации пользователей, а также для управления пользовательскими функциями (изменение пароля, разблокировка пользователей и т. Д.).Пользовательский MembershipProvider - это не что иное, как класс, расширяющий абстрактный класс MembershipProvider.Здесь вы будете писать собственную логику для взаимодействия с вашей базой данных для выполнения необходимых действий по членству (проверка учетных данных, создание пользователя, изменение пароля и т. Д.).

Посмотрите этот учебник:

http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

Этот является хорошим ресурсом, если вы не знакомы с членством в ASP.NET.

...