ASP.NET MVC MembershipProvider mit Repository und Ninject

7

Wie kommuniziere ich mit dem UserService über eine überladene MembershipProvider-Klasse? Ich habe keine Ahnung, wie die Verbindungszeichenfolge an das Benutzer-Repository im Service übergeben werden soll.

So ist meine App strukturiert:

Repository (Konstruktor in der Implementierung benötigt eine Verbindungszeichenfolge)

%Vor%

Service (Konstruktor nimmt ein Benutzer-Repository)

%Vor%

UserController (Ein Beispiel für meinen Controller)

%Vor%

NinjectConfigurationModule

%Vor%

NinjectControllerFactory

%Vor%

MembershipProvider (Hier ist mein Problem)

%Vor%     
Shawn Mclean 11.10.2010, 17:05
quelle

2 Antworten

19

Frage bereits beantwortet, aber ich denke, die bessere Antwort ist, das Repository zu einer Eigenschaft in Ihrem MembershipProvider zu machen und es in Application_Start einzufügen. z.B.

%Vor%

und die Injektion:

%Vor%

Ich habe hier eine ausführlichere Erklärung geschrieben:

Ссылка

    
DanH 24.06.2011, 00:22
quelle
3

Sie können die MembershipProvider.Initialize-Funktion außer Kraft setzen und benötigen außerdem einige Einstellungen in web.config

%Vor%

web.config

%Vor%

Ich habe auch einen benutzerdefinierten Mitgliedschaftsanbieter wie Sie erstellt. In der Login-Aktion des Benutzer-Controllers wird die validateuser-Funktion wie folgt aufgerufen:

%Vor%

Aber letztendlich gebe ich den Mitgliedschaftsanbieter auf und füge eine neue Funktion ValidateUser in IUserService hinzu und dann den Code wie folgt:

%Vor%

Ich denke, das ist einfacher.

    
Liu Peng 12.10.2010 02:47
quelle