2010-10-19 11 views
1

Mon site a une page maître, cette partie est une section de connexion. Certaines pages de contenu peuvent être consultées par tous les visiteurs, y compris les invités, tandis que d'autres sont soumises à un niveau de sécurité. Après la déconnexion, je veux empêcher l'utilisateur d'appuyer sur le bouton de retour sur le navigateur. Si possible, affichage d'un formulaire Page expirée.Expiration de la page dans Asp.Net

+0

Quel est votre système d'authentification? –

+0

J'utilise des paramètres de session pour déterminer si un utilisateur est connecté ou non. Ce n'est peut-être pas le meilleur moyen, mais être un débutant avec la programmation asp.net pourrait en faire partie. – Guy

+0

vous voulez dire session cookieless? (ie querystring) – RPM1984

Répondre

0

Eh bien ce que vous devriez faire est d'appliquer le modèle PRG (Post-Redirect-Get). Après la déconnexion, rediriger vers une autre page (comme la page d'accueil).

Donc, si l'utilisateur appuie sur le bouton de retour, ils seront ramenés à la page de déconnexion (et redirigé à nouveau).

C'est mon opinion. Mais si vous voulez essayer d'afficher la page expirée, vous pouvez essayer d'ajouter ceci au code sur votre page Logout.aspx (avant la redirection).

// Warning: Untested 
Response.Cache.SetExpires(DateTime.Now.AddDays(-1)) 
Response.Cache.SetCacheability(HttpCacheability.NoCache) 
Response.Cache.SetValidUntilExpires(false) 
+0

Comme je l'ai mentionné, il n'y a pas de page de déconnexion (ou de connexion). La connexion/déconnexion est une section de la page maître. – Guy

+0

Oui, je réalise qu'il n'y a pas de "page de déconnexion", mais les gens ont normalement un lien/bouton "déconnexion", qui poste/redirige vers Logout.aspx (juste une page de "mise en scène", pas de balisage) code-behind puis redirige. Que fait alors votre lien/bouton de déconnexion? Vous ne voyez pas réellement la page Logout.aspx - son but est d'exécuter un mécanisme de déconnexion gracieux. – RPM1984

+0

Actuellement, mon bouton de déconnexion supprime les paramètres de session que le bouton de connexion a créés et redirige vers la page de contenu de démarrage – Guy

3

Ajouter Expire la méta-balise aux pages si vous ne souhaitez pas restaurer la fonctionnalité.

<META HTTP-EQUIV="EXPIRES" CONTENT="0"> 

Ou alternativement dans ASP.NET

<%@ OutputCache location="none" %>