2010-06-15 11 views
0

J'ai un problème étrange. J'ai une fenêtre, sur un bouton cliquez sur J'ouvre une fenêtre modale (en utilisant ModelPopupExtender), qui vous permet de sélectionner quelques critères, puis cliquez sur un bouton de soumission. Cliquez sur le bouton Soumettre, j'ouvre une nouvelle fenêtre (en utilisant window.open()) qui montre le statut de ce qui est arrivé à votre demande soumise. Cependant, chaque fois que cette fenêtre d'état est ouverte, elle va à la page de connexion. Je pense que le popup modal ne peut pas passer le cookie d'authentification à la fenêtre nouvellement ouverte, mais je ne suis pas sûr. Voici ma partie web.config:Délai d'ouverture de session lors de l'appel ouvrant une nouvelle fenêtre de modal popup (ASP.NET)

<authentication mode="Forms"> 
    <forms loginUrl="login.aspx" 
     protection="All" 
     defaultUrl="main.aspx" 
     name=".ASPAUTH" 
     timeout="20" 
     slidingExpiration="true" 
     cookieless="UseCookies" 
     requireSSL="false" 
    /> 

Répondre

0

vous devez utiliser l'icône « 101010 » pour échapper à code web.config afin qu'il apparaisse. En ce qui concerne le passage du cookie de session, il n'est pas transmis entre les pages. Votre navigateur le transmet à chaque demande. Si vous voulez voir exactement ce qui se passe, installez fiddler et jetez un coup d'œil aux en-têtes qui circulent. cela vous dira exactement pourquoi certaines fenêtres redirigent vers la connexion.

est-il possible que la fenêtre de confirmation à laquelle vous redirigez après modal existe sur un serveur Web différent, ou un répertoire virtuel différent?

0

Il y a un bug dans ModalPopup. Lorsque vous essayez d'appeler window.open à partir de certains JS sur ModalPopup, la session et les cookies seront perdus - l'utilisateur est considéré par le serveur comme non autorisé et donc pourquoi vous obtenez la page de connexion.

Hope it helps: https://support.microsoft.com/kb/831678?wa=wsignin1.0

Ils offrent ici une solution (un peu méchant) et parler de IE6 à la reproductibilité. Cependant, j'ai rencontré le problème dans Chrome aussi.