2012-06-13 2 views
0

Il s'agit probablement d'une question très élémentaire sur la conception de règles de réclamation AD FS 2.0 à laquelle je n'ai pas trouvé de réponse (débutant). Je manque probablement quelque chose de très basique, mais voilà.Comment extraire l'URL de retour d'une application et d'autres paramètres personnalisés dans les règles de réclamation AD FS 2.0?

Je déploie une fédération au sein d'une entreprise. Les utilisateurs de l'entreprise pourront naviguer vers une application Web A, B, C, etc. Chaque application aura son propre URL de sous-domaine, par ex. app-a.company.org, app-b.company.org, etc. Lorsque l'application redirige vers sa page de destination STS approuvée, je souhaite que l'URL de renvoi soit transmise au STS. Dans les règles de réclamation STS, je veux extraire cette URL de retour et effectuer une recherche dans la base de données, par ex. Pour l'utilisateur actuel et l'application avec l'URL "app-a.company.org", je veux tous les rôles que l'utilisateur a dans cette application (par exemple admin, superutilisateur, acheteur, peu importe).

Mes questions sont les suivantes:

  1. Comment puis-je transmettre l'URL de retour à la STS?
  2. Comment écrire la règle de revendication? (Je sais comment effectuer la recherche dans la base de données et émettre les résultats, mais je ne sais pas comment récupérer l'URL de retour ou tout autre paramètre personnalisé d'une règle de revendication).

Cheers,

Linus

Répondre

0

Maintenant que je connais un peu plus je vais répondre à mes propres questions. Généralement, cette question semble être une confusion sur la terminologie. J'avais l'impression que j'avais besoin de créer une règle globale pour toutes les applications dans le STS. Ce n'est pas le cas. Au lieu de cela, il est possible d'écrire des règles pour des applications séparées (ces applications sont connues sous le nom de confiance des parties utilisatrices dans la terminologie ADFS, c'est-à-dire une entité qui fait confiance aux revendications STS). La relation entre le STS et l'application est 1: 1. Dans mon cas, j'avais besoin que le domaine de l'application serve d'identifiant unique car j'avais besoin d'interroger une base de données (aka Attribute Store) plus tard pour obtenir plus d'attributs. Puisque des règles spécifiques à l'application peuvent être écrites et que la relation entre le STS et l'application est 1: 1, j'ai simplement créé une règle avec le nom de domaine codé en dur.

Donc, pour répondre à mes questions numérotées ci-dessus:

  1. Pas besoin de le transmettre à la STS puisque la relation Parti de la confiance Invoquant sert de liaison permanente entre les deux.
  2. hardcode simple d'émission inconditionnelle (ou ajouter) règle de la revendication, à savoir => issue(type = "http://myclaims/appdomain", value = "app-a.company.org")
Questions connexes