Hinzufügen anspruchsbasierte Autorisierung zu MVC 3
Ich habe eine MVC-app, die ich möchte hinzufügen, um anspruchsbasierte Autorisierung zu. In Naher Zukunft werden wir ADFS2 für federated identity, aber für jetzt werden wir verwendeten Formen auth lokal.
Hat jemand gesehen ein tutorial oder blog-post über den besten Weg, um die WIF verwenden, ohne eine externe identity provider?
Habe ich gesehen, die folgenden, aber es ist ein Jahr alt jetzt, und ich denke, es sollte eine einfachere Lösung:
http://geekswithblogs.net/shahed/archive/2010/02/05/137795.aspx
InformationsquelleAutor der Frage chief7 | 2011-05-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die WIF in MVC ohne ein STS.
Ich die Standard-MVC2-Vorlage, aber es sollte funktionieren mit MVC 3 zu.
Müssen Sie:
1 - Stecker WIF 's SessionAuthenticationModule (web.config)
2 - Wo immer Sie authentifizieren Ihre Benutzer, erstellen Sie eine "ClaimsPrincipal" -fügen Sie alle erforderlichen Ansprüche und erstellen Sie dann eine SessionSecurityToken. Dies ist die Anmeldung Aktion in der AccountController erstellt von MVC:
Habe ich nur noch die gewünschten Zeilen und Links sonst alles das gleiche. So manche Umgestaltung erforderlich sein könnte.
Von dort aus auf die app erhalten nun eine "ClaimsPrincipal" -. Alles wird automatisch bearbeitet von WIF.
Den CookieHandler.RequiresSsl = false ist nur, weil es ein dev-Maschine, und ich bin nicht der Bereitstellung auf IIS. Es kann definiert werden in der Konfiguration zu.
InformationsquelleAutor der Antwort Eugenio Pace
WIF ist entworfen, um eine STS-so, wenn Sie nicht wollen, das zu tun, dann Sie müssen im wesentlichen das Rad neu erfinden, wie pro Artikel.
Wenn Sie sich bewegen, ADFS, werden Sie ziemlich viel haben zu re-code alles.
Alternativ haben Sie einen Blick auf StarterSTSDiese implementiert die gleiche Art der aspnetdb-Authentifizierung, die Sie benötigen, ermöglicht aber die WIF zu tun, die schweres heben. Dann, wenn Sie migrieren, ADFS, Sie einfach laufen FedUtil gegen ADFS und es werden alle arbeiten ohne größere coding-änderungen.
(BTW, es ist ein MVC-version - eine spätere Umsetzung - hier).
InformationsquelleAutor der Antwort nzpcmad