Frage

Ich habe einen benutzerdefinierten MembershipProvider geschrieben, die zum Speichern der Mitglieder eines benutzerdefiniertes Datenbankschema verwendet, aber ich habe Probleme, herauszufinden, wie die Anbieter zu implementieren. Mein Zielserver IIS7 ausgeführt wird, und ich bin in einen Dialog navigieren kann für ein einen .NET-User-Provider hinzufügen, aber statt mir erlaubt, die Montag mit dem Anbieter zu wählen und dann der Klasse, bietet es eine Drop-down mit einem paar MS geschrieben Anbieter.

Muss ich meine Montage an einer bestimmten Stelle fallen, so dass meine MembershipProvider Klasse von IIS entdeckt wird? Wenn ja, was wo benötigt die DLL zu gehen? Ansonsten, wie ASP.Net erzähl meine MembershipProvider zu benutzen? Jedes Beispiel, das ich einfach gesehen habe die vollständig qualifizierten Klassennamen verweist, aber nicht erwähnt, wie die Datei bereitgestellt werden muss.

War es hilfreich?

Lösung

Wenn Sie in der Datei Web.config für Ihre Anwendung aussehen, sollten Sie einen Abschnitt haben system.web genannt. Innerhalb dass es eine Mitgliedschaft Element mit einer Liste von Anbietern. Sie sollten in der Lage sein, Ihren Provider zu addieren und einen Standardanbieter dort eingestellt. Sobald Ihre Mitgliedschaft Anbieter auf diese Weise registriert ist, sollten Sie in der Lage sein, es auch für die Anwendung von IIS als Standard zu wählen.

<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>

Der Anbieter Element ermöglicht es Ihnen, mehrere Anbieter registrieren zu wählen. Ein weiteres Merkmal ist, dass Sie die Mitgliedschaft Anbieter räumen in anderen Konfigurationsdateien auf dem Gerät registriert werden. Dies kann Ihre Anwendung weniger fehleranfällig später machen zu konfigurieren. Dazu fügen Sie das Element vor dem ersten Mitgliedschaftsanbieter (der Elements) in der Liste.

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

Wenn Sie den gleichen Anbieter mit mehreren Web-Anwendungen nur mit IIS-Manager registrieren möchten, müssen Sie die Assembly im GAC setzen und den Anbieter zu einem der Maschinenkonfigurationsdateien statt hinzuzufügen. Dies ist in der Regel mehr Arbeit für wenig Nutzen, wenn eine einzelne Anwendung bereitstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top