2010-09-21 1 views
2

J'ai plusieurs sites sous une forme d'authentification ASP.NET. Ils ont des frameworks mixtes (certains ont 2.0, d'autres 4.0, mais tout va bien) Tout fonctionne bien, mais parfois, après un temps aléatoire (par exemple deux minutes) la session sur le client se termine, et il doit entrer son mot de passe . Pourquoi? Qu'est-ce que je rate?Session d'authentification ASP.NET

Voici une partie de mon web.config:

<authentication mode="Forms" ><forms loginUrl="../web/start_page/start_page.aspx" 
    name=".ASPXFORMSAUTH" 
    protection="All" 
    path="/" 
    timeout="60" /></authentication> 
<machineKey 
    validationKey="blablabla" 
    validation="SHA1" /> 
<sessionState mode="InProc" stateNetworkTimeout="3600" /> 

Observateur d'événements affiche:

Event code: 4005 
Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired. 
Event time: 21.09.2010 8:23:26 
Event time (UTC): 21.09.2010 4:23:26 
Event ID: e3a00bef332a4dec9cd1aa078a3d5aa4 
Event sequence: 277 
Event occurrence: 1 
Event detail code: 50202 
+0

Avez-vous regardé le cookie dans firebug pour voir à quoi correspond le 'expires'? – RPM1984

+0

peut-être les horloges de serveur sur les sites ne sont pas synchronisés? Vérifiez la date sur eux, et la date sur les machines client. – RPM1984

Répondre

1

son parce que le temps de la session sur événement se produit si vous avez besoin d'augmenter votre quelque chose comme du temps de la session de cette

<configuration> 
    <sessionstate 
     mode="inproc" 
     cookieless="false" 
     timeout="20" 
     sqlconnectionstring="data source=127.0.0.1;user id=<user id>;password=<password>" 
     server="127.0.0.1" 
     port="42424" 
    /> 
</configuration> 

Délai d'expiration. Cette option contrôle la durée pendant laquelle une session est considérée comme valide. Le délai d'expiration de la session est une valeur glissante. à chaque requête, le délai d'attente est réglé sur l'heure actuelle plus la valeur du délai

+0

donc j'ai timeout = 60, pourquoi ça ne va pas? – eba

+0

@eba - vérifiez la propriété timeout sur plus de détails sur msdn pour augmenter votre délai –

+1

sessionstate config n'a rien à voir avec les délais d'expiration des cookies d'authentification par formulaire. – RPM1984