Пример кода для создания пользовательского поставщика членства - PullRequest
4 голосов
/ 13 февраля 2012

Я пишу приложение MVC 3 и пытаюсь реализовать свой собственный поставщик членства (следуя примеру в Apress Pro ASP.NET MVC 3 Framework).

Я создал свой пользовательский класс, унаследованный от MembershipProvider, и (используя ReSharper) реализовал все 27 методов с NotImplementedExceptions.

Теперь я переопределил метод ValidateUser, как указано в книге, и он отлично работает, но я хотел бы сделать мой поставщик более надежным и реализовать другие методы (например, установить MinRequiredPasswordLength и GetNumberOfUsersOnline).

Есть ли какой-нибудь пример кода, который я могу использовать, чтобы начать заполнять эти методы, которые я могу настроить в соответствии со своей собственной схемой DB / Model?

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

EDIT: Этот вопрос был просто отклонен дважды. Если вы собираетесь понизить голос, пожалуйста, оставьте комментарий о том, почему, чтобы я мог улучшить свои вопросы.

РЕДАКТИРОВАТЬ 2: Например, для следующего метода:

public override int GetNumberOfUsersOnline()
{
  throw new System.NotImplementedException();
}

Я могу попытаться написать код с нуля, чтобы просмотреть какой-либо веб-журнал, определить время входа пользователей и приблизительное время, если они все еще включены, но мне потребуется много времени, чтобы разобраться. Поскольку весь этот код взят из того же интерфейса, который Microsoft написала для стандартного SqlMembershipProvider, разве не существует кода (даже из MS), который содержит этот метод? Если это так, я хочу взять его, изменить его так, чтобы он использовал мою схему БД вместо схемы по умолчанию aspnetdb. Я бы предпочел иметь какой-то базовый код для работы. Я думал, что это будет простой и довольно стандартный запрос, но, возможно, нет.

Ответы [ 2 ]

9 голосов
/ 13 февраля 2012

Вы не можете использовать код провайдера по умолчанию для своего провайдера, поэтому вы внедряете его, настраиваете его в соответствии со своими требованиями, используете свои собственные таблицы БД и т. Д.

Возьмитепосмотрите на мои сообщения в блоге о настраиваемом членстве , настраиваемой роли провайдерах и настраиваемом членстве пользователя .Там есть пример того, как вы можете использовать свою собственную базу данных для получения / установки информации о членстве.

0 голосов
/ 13 февраля 2012

Вот пример реализации пользовательской MembershipProvider в MSDN.

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

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