Frage

Ich habe eine Anwendung ASP.NET MVC, in die ich gerade die RPX Dritt Federated Identity-System. Die Integration funktioniert ok, aber ich habe einige Schwierigkeiten, meinen Kopf Umwickeln, was damit auf der ASP.NET-Ebene zu tun.

Da die Identität von außen gehandhabt wird, ich habe keine Notwendigkeit für Passwörter in meiner App: ich das Kennwort des Benutzers nie erhalten, nur um ihre Identität. Allerdings erfordert die ASP.NET-Mitgliedschaftsanbieter Sachen Passwörter um geleitet werden, um einen Benutzer zu erstellen, melden Sie einen Benutzer in etc.

Ich habe unter Berücksichtigung worden new Guid() zum Zeitpunkt der Erstellung verwenden, aber dies würde einen Aufruf an die Datenbank benötigen das Passwort des Benutzers abzurufen, bevor ich den Benutzer in über den Mitgliedschaftsanbieter unterzeichnen könnte. Ich könnte das gleiche Passwort für jeden Benutzer verwenden, so dass es im Voraus bekannt ist, aber ich bin besorgt, dass dies würde meine Benutzerdaten unsicher machen.

Ich würde mich interessieren zu hören, wie andere Websites, dieses Problem zu umgehen, zum Beispiel Stackoverflow.

[Bitte beachten Sie auch href="https://stackoverflow.com/questions/994051/">, in Bezug auf die Mitgliedschaft Anbieter für eine solche App.]

War es hilfreich?

Lösung

  

, aber ich bin besorgt, dass dies würde meine Benutzerdaten unsicher machen.

Starten Sie, indem sichergestellt wird, dass niemand direkt gegen die Datenbank einen Benutzernamen und Passwort authentifizieren kann mit - ich denke, das ist schon der Fall, da Sie RPX verwenden die eigentliche Authentifizierung zu tun, und Sie werden den Aufruf nur die ASP.NET-Mitgliedschaft Anbieter einmal Sie haben bereits die Identität des Benutzers festgelegt.

Dann wird das Passwort auf Ihrer Seite gespeichert unerheblich, denn es ist kein Geheimnis - wenn ich trainieren kann, was jemand des Passwort auf Ihrer Seite ist, ist es nicht plötzlich ihre Daten gefährden, weil ich immer noch nicht mit anmelden, dass Information. Das Geheimnis des Benutzers wird durch die 3rd-Party-Anbieter verwaltet werden, nicht Sie.

So könnte man genauso gut speichern, was am bequemsten ist (dh ein bekannter Dummy-Wert) - Sie könnte genauso gut Passwort-Verschlüsselung als auch auf dem Mitgliedschaftsanbieter deaktivieren, einige Zyklen auf dem Server zurück. Kein Punkt beim Verschlüsseln / Hashing-Werte, die nicht verwendet werden niemandes Identität zu überprüfen.

Andere Tipps

Warum verwenden asp.net Mitgliedschaft? Es ist nicht wirklich passen in Ihnen, was Sie tun, die 3rd-Party-Authentifizierung ist. Vielleicht könnten Sie einen Blick auf die DotNetOpenID Projekt und Beispiele, da sie einen klassischen Asp haben. netto-Website Beispiel, das Sie für mvc ändern könnte? Sie haben eine Wiki hier Vielleicht google DotNetOpenID Mvc?

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