Wie kann ich ein SAML-Sicherheits-Token innerhalb der gleichen Anwendung erzeugen, dass es verbraucht?

StackOverflow https://stackoverflow.com/questions/2255103

Frage

Ich habe einige meiner Anwendungen wurde die Konfiguration der Windows Identity Foundation zu verwenden. Ich verwende die passive Umleitung auf Sicherheitstoken von einem Security Token Service zu erhalten. Ich erreichte dies durch WIF-Code in eine Anmelde Website einfügen, dass existierte, bevor ich WIF gestartet und anschließend in den Anwendungen auf „Hinzufügen STS-Referenz“ verwendet wird.

ich eine Anwendung jedoch, die nicht die Anmelde Website nicht verwendet. Ich denke, dass das, was ich möchte, ist die Sicherheit in der Anwendung Token tun, erzeugt selbst, ohne den Benutzer zu einem externen STS umgeleitet wird.

Ich versuchte erfolglos, dies zu erreichen, indem die ClaimsAuthenticationManager-Klasse, die verwendet werden können zusätzliche Ansprüche an eine Sicherheits hinzuzufügen Token von einem externen STS erhalten. Allerdings ist ClaimsAuthenticationManager in diesem Zusammenhang nicht arbeiten. Statt ClaimsAuthenticationManager nur ein einziges Mal pro Sitzung des Anrufers (die erwartete und gewünschte Ergebnis), wird es auf jeder Seite Last ohne ein Zeichen der Ansprüche genannt, dass ich auf der vorherigen Seite zu laden, die dem Benutzer zugeordnet.

Ich suche eine externen STS zu schaffen, die dem Benutzer die Ansprüche aus einer Datenbank geben, aber ich sehe dies als eine Gefahr zu sein. Es scheint keinen Grund zu sein, dass ich eine ganze separaten STS für nur eine einzige Website erstellen müssen. Ich möchte nur die Sicherheit in meiner Anwendung Token erzeugen.

War es hilfreich?

Lösung

Es ist möglich, den Security Token Service Klasse innerhalb Ihrer eigenen Anwendung zu setzen.

Um jedoch für die Benutzer in der Lage sein, eine Log-in für den Zugriff auf Seite in der Anwendung, bevor sie das Token erhalten haben, müssen Sie den deny users=? vom Authorization Abschnitt von web.config zu entfernen. Dadurch können Benutzer Ihre Web-Seite ohne Sicherheitstoken treffen. Sobald sie sich anmelden, leiten sie an der entsprechenden Seite.

Dies hat den Nachteil, nicht in der Lage zu sein, die bequem passive Umleitung Funktionalität zu nutzen, aber es funktioniert. Das bedeutet, dass Sie müssen manuell Redirect Benutzer auf die Login-Seite, wenn sie versuchen, etwas zu tun, die sie in angemeldet sein muss.

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