Пользовательский .Net MembershipProvider в n-уровневой среде? - PullRequest
4 голосов
/ 24 августа 2009

Я работаю над разделением существующего работающего приложения, которое у меня есть на данный момент, чтобы лучше понять n-уровневые структуры. Это приложение использует настраиваемое членство и роли поставщиков с аутентификацией форм.

В настоящее время все доступ к данным и бизнес-логика находятся в одном решении ASP.Net.

Я создал уровень бизнес-логики (BLL) и уровень доступа к данным (DAL) и извлекаю бизнес-логику. Я борюсь за то, где классы MembershipProvider должны существовать.

  • Должны ли классы провайдеров Membership находиться в уровне представления из-за тесной связи встроенных элементов управления UI (вход в систему, мастер создания пользователей и т. Д.), Которые используют эти классы?

  • Могут ли они существовать в BLL? Если да, то как мне ссылаться на них из презентации? Это просто вопрос изменения web.config, чтобы он указывал на BLL.membershipprovider, когда на BLL ссылаются из пользовательского интерфейса?

Просто пытаюсь найти проверку здравомыслия, прежде чем идти по неверному пути. К сожалению, я не смог найти примеры этого через Google. Любая помощь / указатели приветствуются.

Ответы [ 2 ]

4 голосов
/ 25 августа 2009

Ключи web.config для узла членства / провайдеров позволяют указывать пользовательский тип, поэтому, указав правильное пространство имен и ссылку на сборку в этом ключе, вы можете поместить свои пользовательские объекты членства в любое удобное для вас место. Я бы предложил отдельную DLL для логики членства (объекты, которые наследуются от базовых классов членства), которая ссылается на ваш BLL для всей логики внутренней аутентификации.

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

1 голос
/ 24 августа 2009

Классы членства могут существовать в любой указанной сборке. Просто убедитесь, что вы полностью указали имена пространств и классов в конфигурации.

...