2009-08-17 8 views
1

D'abord, je suis en train de la variable de session en session [ "SessionId"] dans le fichier globle.asax comme ci-dessous: -Désactivation Retour bouton du navigateur sur Déconnexion cliquer comme Yahoo, Gmail, etc pour la sécurité

void Session_Start(object sender, EventArgs e) 
{ 
    // Code that runs when a new session is started 
    string sessionId = Session.SessionID; 
    Session["SessionId"] = "true"; 
} 

J'utilise ce code dans l'événement page_Load() de la page principale: -

Response.Buffer = true; 
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d); 
Response.Expires = -1500; 
Response.CacheControl = "no-cache"; 

if(Session["SessionId"] == null) 
{ 
    Response.Redirect("PatientLoginPage.aspx"); 
} 

et en utilisant Firefox comme Brower par défaut, mais il ne fonctionne pas en elle, ainsi que Chrome broweser me corriger si je me trompe s'il vous plaît aide-moi ...

Merci à l'avance,

vaibhav D.

Répondre

3

Si je ne me trompe pas, utilisez Gmail et Yahoo 2 redirige lors de la connexion, donc lorsque vous cliquez sur « retour » vous allez en fait à une page, bogus pas celui avant de vous être déconnecté. Essayez de faire la même chose.

Le type de redirection utilisé peut également affecter l'historique du navigateur ou non (je me réfère ici à une redirection depuis les en-têtes http ou une redirection à partir d'un simple javascript).

Essayez d'expérimenter un littpe avec cette info et une page « proxy » bogus, qui agit comme un intermédiaire entre le mode « Loggen dans » et le mode « déconnecté »

+0

u peut être plus précis? S'il vous plaît dites-moi quelle erreur dans mon code? –

+1

@Vaibhavd: En fait, lorsque votre application déconnecte un utilisateur, vous devez rediriger l'utilisateur vers (par exemple) loggedout.aspx - cette page ne fait que les rediriger vers une page les informant qu'ils sont déconnectés, ou la connexion page, la page d'accueil que ce soit. De cette façon, si l'utilisateur clique sur le bouton de retour, ils vont à loggedout.aspx, qui les renvoie immédiatement à la même page. –

+0

Mais si l'utilisateur clique plus de 2 fois sur ton can, navigue-t-il sur l'ensemble des pages? –

1

Session_Start sera appelé à chaque fois qu'un la session est démarrée - même si vous appelez Session.Abandon() dans votre code de déconnexion, dès que l'utilisateur clique sur une nouvelle page, Session_Start sera renvoyé (car il ressemble à une nouvelle session), et Session ["SessionId "] ne sera plus nul, et sera à nouveau" true ".

Je pense que Misquamaqus a la bonne réponse sur la façon d'aller sur « désactiver » le bouton de retour, mais cela devrait aider à résoudre le problème dans votre page maître ..

+0

pouvez-vous me dire l'erreur dans mon code les pages que le navigateur prend du navigateur catch, donc la page n'est pas recharger il invoque simplement la capture, j'ai effacé la capture d'utiliser le même code ça fonctionne bien dans IE mais pas dans le Firefox, je veux coder sur le bouton de retour des navigateurs afin qu'après avoir cliqué, le pop massage apparaisse disant que ta session a expiré et redirigera vers la même page (page de connexion) –

Questions connexes