9
votes

Comment définir le délai d'attente correctement lors de la fédération avec les ADFS 2.0

J'utilise des ADFS 2.0 pendant un certain temps et je comprends comment les choses fonctionnent. J'ai fait une douzaine de RPs personnalisés, des cartes personnalisées et de l'utilisation des ADFS en tant que STS comptez.

Cependant, j'ai une simple exigence que je manque toujours de remplir. p>

Je veux que mes utilisateurs soient obligés de Relogin Strong> après une heure fixe. Disons 1 minute, à des fins de test. P>

Premièrement, j'ai fait des corrections au côté RPS. Il semble que pour une raison inconnue, le RP conserve la session même si le de votre jeton est valide code> à temps. Cela contredit ce que Vittorio BertoCci dit dans son livre (page 123) où il montre comment effectuer une expiration glissante - il dit que "la sessionAuthenticationModule va s'occuper de la manipulation de la session expirée juste après". Eh bien, pour moi, ce n'est pas, mais j'ai trouvé une astuce ici http://blogs.planbsoftware.co.nz /? p = 521 - Jetez un oeil à la clause "si": p> xxx pré>

Cette astuce corrige le problème du côté RPS. Lorsque le jeton est invalide, l'application l'effache et redirige vers la page de connexion. P>

vient maintenant le problème. Ma page de connexion utilise le contrôle FédératedPassiveInin Code> FédératedPassiveInine. Lorsque cliqué, il redirige le navigateur sur les ADFS. P>

mais des ADFS crée une nouvelle nouvelle session forte> sans aucune invite à l'utilisateur. P>

J'ai défini la durée de vie du jeton pour ce RP à 1: P > xxx pré>

et en utilisant get-adfsrelyingparytrust code> Je peux voir qu'il est défini sur 1 (i même imprimer le jeton valide to code> sur ma page à Confirmez que ceci est défini correctement). p>

Puis je définis les propriétés d'ADFS avec ADFS-SETPROPERTES CODE>: P>

ADFS-SetProperties -SsoLifetime 1
ADFS-SetProperties -ReplyCacheExpirationInterval 1
ADFS-SetProperties -SamlMessageDeliveryWindow 1


8 commentaires

de mon POV, les informations que vous fournissez ne suffisent pas pour aider (bien que vous fournissiez de nombreuses informations) car le comportement du délai d'expiration dépend des réglages de nombreuses parties différentes (STS, RP ...) et comment elles sont mises en œuvre ... Vous utilisez beaucoup de personnalités que vous devez spéculer lourdement :-(


@Yahia: Merci pour l'intérêt. Vous voyez, il n'y a pas de composants personnalisés là-bas. Il s'agit de l'ADFS 2.0, installé de la boîte et du WIF utilisé au côté RPS. Pas de place pour la spéculation, à mon avis.


Ensuite, j'ai supposé que de J'ai fait une douzaine de RPs personnalisés, des cartes personnalisées et de l'utilisation des ADF comme la STS comptez par erreur.


D'accord. Il s'agissait de souligner que je ne suis pas un débutant dans ce domaine et j'ai besoin d'une guidance très spécifique.


Ok ... je ne peux pas l'essayer mais vous suggérerait de définir fraîcheur propriété de fédéraliséPassiveInin à 1 et voyez ce qui se passe ...


Cela pourrait être une bonne voie. Le réglage à 1 ne vous aide pas, cependant selon les docs ( docs.oasis-open.org/wsfed/fedération/v1.2/ws-fedération.htm l )," si spécifié comme "0", il indique une demande d'adresse IP / STS à re -prompter l'utilisateur de l'authentification avant d'émettre le jeton. " Et devinez quoi, 0 fonctionne correctement! Je vais reconfirmer cela demain.


Nope mais je doute que quiconque fournira toute autre information mais aussi utile. Si vous souhaitez prendre la Bounty, veuillez fournir une réponse courte qui mentionne ce paramètre fraîcheur .


J'avais vraiment espéré que cela résoudrait-il ... l'a affiché comme une réponse.


3 Réponses :


8
votes

Selon les commentaires ci-dessus (effort commun avec l'OP), le fraîcheur propriété sur le fédéraliséPassiveIgnin instance doit être réglé sur 0.

Selon http: //docs.oasis- open.org/wsfed/fedération/v1.2/ws-fedération.html Cela indique pour que l'IP / STS de réaffecter à nouveau l'utilisateur de l'authentification avant de ne pas publier le jeton.


3 commentaires

Merci encore. J'ai accepté la réponse et l'a attribué à ma prime.


vous êtes les bienvenus :-) Selon MSDN Le comportement semble être Par design - citation: Pour assurer une expérience utilisateur positive, les utilisateurs doivent avoir à entrer un nom d'utilisateur et un mot de passe que lorsque vous vous connectez à un poste de travail; Les utilisateurs ne doivent pas nécessairement avoir à ressentir plusieurs fois à plusieurs fois lors de l'accès à plusieurs clients


C'est pourquoi j'ai besoin de plus d'expériences avec le Tokenlifetime et SSOLIFETIME paramètres. Il est possible que les paramètres à 1 donne le comportement incorrect que j'observe mais que je leur donne, disons, 20 minutes le fera se comporter correctement. J'espère juste que oui.



1
votes

Vous pouvez également essayer de changer d'ADF de l'authentification intégrée de Windows vers une authentification basée sur des formulaires. Vous aurez probablement toujours un singe avec la propriété de fraîcheur, mais vos utilisateurs devront maintenant entrer leurs informations d'identification, même si elles sont sur le même réseau que votre annonce.

Cet article l'explique joliment simplement:

http://social.technet.microsoft.com/wiki/ Contenu / Articles / 1600.aspx


1 commentaires

Merci pour le commentaire. Je n'ai pas dit cela explicitement mais nos ADFSES sont toujours définis pour les formulaires.



0
votes

C'est assez étrange que la réglage de la valeur Tokenlifetime n'a pas fonctionné. Le Article dans MSDN explique le délai d'attente en tant que paramètre simple - en attribuant une valeur tokenlifetime. Je suis intéressé de savoir si le paramètre décrit dans MSDN est correct. Si cela n'a pas aidé, il est donc bon temps pour réviser cet article. J'espère que ce sera une grande aide pour ceux qui font face à ce problème.


2 commentaires

Merci pour cela, même si la question est un peu ancienne. D'après ce que je me souviens, la fixation du Tokenlifetime pendant 1 minute n'était pas une bonne idée, mais je me souviens également que les valeurs supérieures à 5 minutes ont fonctionné correctement.


Merci pour la réponse rapide. Certes, c'est une pointe utile. Je vais essayer d'essayer de confirmer s'il y a des différences.