Вопрос

Я написал собственный MembershipProvider, который использует собственную схему базы данных для хранения участников, но у меня возникают проблемы с выяснением того, как развернуть поставщика. Мой целевой сервер работает под управлением IIS7, и я могу перейти к диалоговому окну для добавления поставщика пользователей .NET, но вместо того, чтобы позволить мне выбрать сборку, содержащую поставщика & Amp; затем класс предоставляет раскрывающийся список с несколькими поставщиками письменных услуг MS.

Нужно ли удалять мою сборку в определенном месте, чтобы мой класс MembershipProvider был обнаружен IIS? Если это так, что нужно делать .dll? Иначе, как сказать ASP.Net использовать мой MembershipProvider? Каждый пример, который я видел, просто ссылается на полное имя класса, но не упоминает, как файл должен быть развернут.

Это было полезно?

Решение

Если вы ищете в приложении файл web.config, у вас должен быть раздел system.web. В этом есть элемент членства со списком поставщиков. Вы сможете добавить своего провайдера и установить там провайдера по умолчанию. Как только ваш провайдер членства будет зарегистрирован таким образом, вы сможете выбрать его по умолчанию для этого приложения в IIS.

<system.web>
    ...
    <membership defaultProvider="MyMembershipProvider" 
                    userIsOnlineTimeWindow="15">
        <providers>
            <add name="MyMembershipProvider"
                             type="Common.Auth.MyMembershipProvider, Common" 
                             connectionStringName="MyAuthDBConnectionString" 
                             enablePasswordRetrieval="true" 
                             enablePasswordReset="true" 
                             requiresQuestionAndAnswer="true" 
                             writeExceptionsToEventLog="false" />
        </providers>
    </membership>
    ...
</system.web>

Элемент провайдеров позволяет вам регистрировать нескольких провайдеров на выбор. Другая особенность заключается в том, что вы можете удалить поставщиков членства, зарегистрированных в других файлах конфигурации на машине. Это может сделать настройку вашего приложения менее подверженной ошибкам в дальнейшем. Для этого добавьте & Lt; clear / & Gt; элемент перед первым поставщиком членства (элемент < add / >) в списке.

<system.web>
    ...
    <membership defaultProvider="MembershipProvider1">
        <providers>
            <clear />
            <add name="MembershipProvider1" ... />
            <add name="MembershipProvider2" ... />
        </providers>
    </membership>
    ...
</system.web>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top