2011-02-11 3 views
1

J'ai un site Web ASP.NET qui utilise un ADFS 2.0 pour fournir des revendications. Sur ADFS, j'ai implémenté un magasin d'attributs personnalisés. Ce magasin va et obtient des revendications particulières d'un ancien système qui peut prendre un certain temps (20 -30sec)WIF et ADFS - Demande d'autres revendications supplémentaires

Ce que je voudrais savoir, c'est comment faire, je reçois seulement cette demande lorsque cela est nécessaire. Je ne veux pas avoir cette réclamation lorsque les clients se connectent pour la première fois. Ce n'est pas toujours nécessaire. Comment puis-je revenir au serveur ADFS et l'obtenir pour réémettre les revendications des utilisateurs et ajouter une réclamation supplémentaire?

Merci à l'avance pour toute aide. Jean-Pierre

Mise à jour: Est-il possible d'envoyer quelque chose du client (page ASP.NET à l'aide WSTrustChannel en tant que client actif) au serveur ADFS que je peux puis tester dans un de mes conditions de la règle de réclamation?

Répondre

1

L'application ASP.NET peut être un client actif pour le STS, mais aussi un client passif. Lorsque vous devez obtenir les revendications supplémentaires, utilisez WSTrustChannelFactory pour effectuer un appel directement au STS.

+0

Merci pour votre réponse. J'ai mis en place un client actif sur ma page asp.net et testé que tout fonctionne très bien. Je regardais les propriétés RequestTokenSecurity et j'ajoutais une revendication de type http: // GetSpecialClaims avec la valeur true. J'ai alors essayé de vérifier cette réclamation et valeur dans une de mes règles c: [type == "http: // GetSpecialClaims :, Valeur ==" Vrai "] => question .... Mais la réclamation ne fait pas partie de les réclamations reçues: D'autres suggestions sur la façon d'identifier que la réclamation spéciale doit être récupérée? –

Questions connexes