Ich habe eine ASP.NET MVC-Anwendung, in die ich gerade das RPX föderierte Drittanbieter-Identitätssystem integriert habe. Die Integration funktioniert gut, aber ich habe einige Schwierigkeiten, meinen Kopf darauf zu legen, was damit auf ASP.NET-Ebene zu tun ist.Kennwörter für Anwendungen, die Authentifizierung von Drittanbietern verwenden?
Da die Identität extern behandelt wird, brauche ich keine Passwörter in meiner App: Ich erhalte nie das Passwort des Benutzers, nur ihre Identität. Das ASP.NET Membership Provider-Zeug erfordert jedoch, dass Passwörter weitergegeben werden, um einen Benutzer zu erstellen, einen Benutzer zu signieren, usw.
Ich habe überlegt, new Guid()
bei der Erstellung verwenden, aber dies würde einen Aufruf erfordern die Datenbank, um das Passwort des Benutzers abzurufen, bevor ich den Benutzer über den Mitgliedschaftsanbieter anmelden konnte. Ich könnte das gleiche Passwort für jeden Benutzer verwenden, so dass es im Voraus bekannt ist, aber ich bin besorgt, dass dies die Daten meines Benutzers unsicher machen würde.
Ich würde gerne hören, wie andere Websites dieses Problem behandeln, z. B. StackOverflow.
[Bitte beachten Sie auch my other question sehen, in Bezug auf die Mitgliedschaft Anbieter für eine solche App.]
Ich habe bereits DotNetOpenID betrachtet; Das sind auch MVC-Samples in v3.1. Es behandelt jedoch nur die Authentifizierung, nicht die Autorisierung. Die ASP.NET-Mitgliedschaft scheint die Grundlage für das Autorisierungssystem zu sein, insbesondere das MVC-Attribut [Authorize]. Ich möchte kein eigenes Autorisierungssystem implementieren, wenn ich es vermeiden kann. – alastairs