Перемещение поставщика членства ASP.net в отдельную библиотеку классов - PullRequest
0 голосов
/ 09 марта 2011

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

Итак, возможно ли переместить встроенный код поставщика членства asp.net в отдельный проект библиотеки классов? Если так, то как. Если нет, то какие у меня варианты?

Ответы [ 3 ]

3 голосов
/ 21 ноября 2011

Если вы пытаетесь использовать библиотеку классов, вам придется ссылаться на System.Web и System.Web.ApplicationServices

1 голос
/ 09 марта 2011

Для себя я использую класс AuthenticationService, который инкапсулирует класс Membership, так что проще выполнить модульное тестирование моего контроллера, а также легче переместить мой класс туда, куда я хочу. В моем контроллере у меня есть IAuthentificationService, который находится в конструкторе контроллера (из DI). Также проще, если вы хотите перейти от членства в Asp.Net к другому «провайдеру безопасности».

0 голосов
/ 09 марта 2011

Встроенный поставщик asp.net работает только с настройками конфигурации и настройкой БД.Вам не нужно писать много кода для этого.Если вы ссылаетесь на то, как его методы вызываются в вашем коде, например (getUser () или validateUser () и т. Д.), Тогда вы вполне можете ссылаться на необходимые библиотеки DLL в библиотеке классов и перемещать код туда.

...