Question

J'ai certaines de mes configure les applications à utiliser Windows Identity Foundation. J'utilise la redirection passive pour obtenir des jetons de sécurité à partir d'un service de jeton de sécurité. J'accompli en insérant le code WIF dans un site Web d'ouverture de session qui existait avant que je commencé à utiliser WIF, puis en utilisant le bouton « Ajouter STS référence » dans les applications.

Cependant, j'ai une application qui ne pas utiliser le site Web d'ouverture de session. Je pense que ce que je voudrais faire est de générer le jeton de sécurité dans l'application elle-même sans rediriger l'utilisateur vers une STS externe.

J'ai essayé en vain d'y arriver en utilisant la classe ClaimsAuthenticationManager qui peut être utilisé pour ajouter des demandes supplémentaires à un jeton de sécurité reçue d'un STS externe. Cependant, ClaimsAuthenticationManager ne fonctionne pas dans ce contexte. Au lieu d'appeler ClaimsAuthenticationManager seulement une seule fois par session (le résultat attendu et désiré), il est appelé à chaque chargement de page sans signe des revendications que j'Assignée à l'utilisateur de la charge page précédente.

Je cherche à créer un STS externe qui donnera à l'utilisateur revendications d'une base de données, mais je vois cela comme un danger. Il semble y avoir aucune raison que je dois créer un STS tout distinct pour seulement un seul site Web. Je voudrais simplement générer le jeton de sécurité dans mon application.

Était-ce utile?

La solution

Il est possible de mettre la classe de service de jeton de sécurité au sein de votre propre application.

Cependant, pour que l'utilisateur puisse accéder à une page d'ouverture de session dans votre application avant qu'ils ont obtenu le jeton, vous devez retirer le deny users=? de la section Authorization de web.config. Cela permettra aux utilisateurs de frapper votre page Web sans jeton de sécurité. Une fois qu'ils se connectent, les rediriger vers la page appropriée.

Ceci présente l'inconvénient de ne pas être en mesure d'utiliser la fonctionnalité de redirection passive pratique, mais il fonctionne. Cela signifie que vous devez rediriger manuellement les utilisateurs vers le page de connexion quand ils essaient de faire quelque chose qui les oblige à être connecté.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top