Je reçois des rapports et des plaintes de mon utilisateur indiquant qu'ils utiliseront un écran et seront immédiatement redirigés vers l'écran de connexion. demande. Cela n'arrive pas tout le temps mais au hasard. Après avoir examiné le serveur Web, l'erreur qui apparaît dans le journal des événements d'application est la suivante:Les utilisateurs sont obligés de se reconnecter aléatoirement, avant que les valeurs de session et de délai d'expiration de ticket d'authentification ne soient atteintes
Code d'événement: 4005 Message d'événement: L'authentification par formulaire a échoué pour la demande. Raison: le ticket fourni a expiré. Tout ce que je lis commence par des questions sur les jardins Web ou l'équilibrage de charge. Nous n'utilisons pas l'un ou l'autre. Nous sommes un seul serveur Windows 2003 (système d'exploitation 32 bits, matériel 64 bits) avec IIS6. C'est le seul site sur ce serveur aussi.
Ce comportement ne génère aucune exception d'application ni aucun problème visible pour l'utilisateur. Ils sont simplement ramenés à l'écran de connexion et sont obligés de se connecter. Comme vous pouvez l'imaginer, cela est extrêmement ennuyeux et contre-productif pour nos utilisateurs.
Voici ce que j'ai mis dans mon web.config pour l'application à la racine:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx"
defaultUrl="~/MyHome.aspx"
path="/"
slidingExpiration="true"
requireSSL="false" />
</authentication>
J'ai aussi lu que si vous avez des emplacements configuration qui n'existent plus ou sont fausses, vous pourriez avoir des problèmes . Mes attributs de chemin sont tous les répertoires valides afin que ne devrait pas être le problème:
<location path="js">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="anon">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="App_Themes">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="NonSSL">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
La seule chose que je ne suis pas clair est si ma valeur de délai d'attente dans la propriété de formulaires pour le billet d'auth doit être le même comme valeur de délai d'attente de session (définie dans la configuration de l'application dans IIS). J'ai lu certaines choses qui disent que vous devriez avoir le délai d'authentification plus court (40) que le délai d'expiration de la session (45) pour éviter d'éventuelles complications. Dans les deux cas, nous avons des utilisateurs qui sont redirigés vers l'écran de connexion une minute ou deux après leur dernière action. Donc, la session ne devrait définitivement pas expirer. Mise à jour 2/23/09: J'ai depuis paramétré le délai d'attente de la session et le délai d'expiration des tickets d'authentification à 45 et le problème semble toujours se produire.
Le seul autre web.config de l'application se trouve dans 1 répertoire virtuel qui héberge le serveur de communauté. Que les paramètres d'authentification de web.config sont les suivantes:
<authentication mode="Forms">
<forms name=".TcaNet"
protection="All"
timeout="40"
loginUrl="~/Login.aspx"
defaultUrl="~/MyHome.aspx"
path="/"
slidingExpiration="true"
requireSSL="true" />
</authentication>
Et pendant que je ne crois pas qu'il applique à moins que vous êtes dans un jardin Web, je les deux machines valeurs clés définies dans les deux fichiers web.config pour être le même (enlevé pour plus de commodité):
<machineKey
validationKey="<MYVALIDATIONKEYHERE>"
decryptionKey="<MYDECRYPTIONKEYHERE>"
validation="SHA1" />
<machineKey
validationKey="<MYVALIDATIONKEYHERE>"
decryptionKey="<MYDECRYPTIONKEYHERE>"
validation="SHA1"/>
Toute aide avec ceci serait grandement appréciée. Cela semble être l'un de ces problèmes qui donne une tonne de résultats Google, dont aucun ne semble être adapté à ma situation jusqu'à présent.
Logiciel 65 bits! \ o/ – Bombe
@don qu'est-ce que cela s'est avéré être? –
Quelqu'un a-t-il compris? J'ai un site Web à un seul noeud (non mis en cluster) et après la mise à niveau vers ASP.NET MVC4 RC, j'ai commencé à recevoir cette erreur - tous les utilisateurs se sont déconnectés après le recyclage du processus de travail. Aucune de mes autres applications n'est affectée. – ShadowChaser