0

Nous avons un STS personnalisé personnalisé basé sur WIF. Il émet normalement des jetons de sécurité standard par les demandes des clients. Dans la configuration du service STS, le paramètre DefaultTokenLifetime a été défini sur 1 min. Après cela, nous appelons notre serveur avec un jeton appliqué toutes les 15 secondes. Mais après 1 minute s'est écoulée, nos appels au serveur finissent avec succès. C'est un comportement étrange! Qui doit valider le paramètre ValidTo du jeton de sécurité?Qui doit valider la durée de vie du jeton de sécurité STS

Quelle est la meilleure pratique pour valider un jeton de sécurité dans RP (service de logique applicative)?

UPD: Il semble que nous ayons trouvé une solution. par la façon dont nous utilisons le code de suivi sur le côté client:

ChannelFactory<ICalculator> calcFactory = new ChannelFactory<ICalculator>(GetClientBinding(), ServiceAddress); 
calcFactory.ConfigureChannelFactory(); 
ICalculator calc = calcFactory.CreateChannelWithIssuedToken(token); 
       for (int i = 0; i < 300; i++) 
       { 
        double sum = calc.Add(40.0, 2.0); 
        Console.WriteLine("Called. Token ValidTo: {0} but now: {1}", token.ValidTo.ToLongTimeString(), DateTime.UtcNow.ToLongTimeString()); 
        Thread.Sleep(5000); 
       } 

Ce code crée l'usine de canal une fois et l'utiliser par appel. Si nous allons créer une fabrique de canaux à chaque appel, le jeton de sécurité sera validé correctement: lorsque le jeton a expiré, l'appel de service ne sera pas authentifié et une exception de sécurité sera levée. Son travail mais est-ce une bonne pratique?

Merci

Répondre

0

IIRC, WIF utilise un décalage d'horloge de 5 minutes pour accueillir les horloges des machines. Cela pourrait expliquer pourquoi votre jeton est toujours accepté après l'expiration de 1 min.

+0

Allen, notre client, notre serveur et nos mailles fonctionnant sur un ordinateur local. Mais j'ai essayé de mettre ServiceConfiguration.MaxClockSkew à 1 secondes - aucun résultat –

+0

Question similaire trouvée http://social.msdn.microsoft.com/Forums/en-US/65ede7e8-98ea-46f8-8826-76534f4af5ac/security- jeton-vie? forum = Genève –

Questions connexes