Wie implementiere ich benutzerdefinierte Principal-und Identity-in ASP.NET MVC?

Ich möchte zusätzliche Informationen zu speichern, die in den authentifizierten Benutzer, so kann ich es leicht zugänglich (wie Benutzer.Identität.Id, zum Beispiel), anstatt nur die Namen, denn ich bin der Planung auf das nicht-eindeutige.

So weit ich das gerafft habe, dass ich Aussehen sollte, um implementieren Sie benutzerdefinierte Principal-und/oder Identität, aber ich bin mir nicht sicher wie Sie gehen über es. Ich habe auf der Suche nach Dokumentationen und tutorials über die Materie, aber ich habe festgestellt, bezogene Sachen in verschiedenen Orten, und ich fand es ein bisschen verwirrend.

Habe ich gesehen, wie das hinzufügen von benutzerdefinierten info für die Authentifizierung cookie im user-data-Eigenschaft, aber ich würde gerne den Vorteil von dependency injection, unit-Tests, die ich mit der principal-und identity.

Was sind die genaue Schritte, die ich beachten muss wenn ich das umsetzen will, mein eigener AUFTRAGGEBER oder Identität?

Was wäre die einfachste, die ich tun könnte in diesem Szenario (fügen Sie einfach die ID und halten Sie die Standardeinstellungen im Ort)? "Defaults" die Standard-Anbieter (Mitgliedschaften, Rollen, etc.).

Habe ich gesehen,andere Frageaber ich würde mich über Antworten freuen, lassen Sie keine Löcher in zwischen, wie die Rollen magic strings in dem AuthenticateRequest-Ereignis in den Beispielen. Stattdessen muss ich wissen, wie Sie die Rollen aus dem Standard-SqlRoleProvider für den aktuellen Benutzer: Wann und wo es zu tun, und wenn ich brauche nichts weiter zu tun, eine Verbindung zu meinem neuen Klassen mit den anderen Mobilfunk-Anbieter.

Es wäre großartig, in der Lage zu gehen, um eine Probe ASP.NET MVC 2 Anwendung (aus der visual studio-2010-Vorlage, zum Beispiel), nehmen Sie die änderungen vor und haben es zu arbeiten.


EDIT: ich bearbeitet haben, die Frage besser zu zeigen, dass ich ziemlich viel verloren hier, also kann ich nicht nicht mit zu hohen Niveau Antworten.

P. S.: Es scheint mir, dass es mehr Sinn macht, haben die ID in der Identität statt der Hauptperson, ich habe zwar, in einer Weise, erklärte, dass dieser vor.

InformationsquelleAutor der Frage Kenji Kina | 2010-07-18

Schreibe einen Kommentar