2009-11-25 4 views
2

Y at-il une solution comment puis-je fermer le navigateur complètement? J'ai besoin de cela parce que j'utilise Single Sign On d'une autre page et sur cette page il est écrit que seule la fermeture du navigateur déconnectera l'utilisateur.fermer complètement le navigateur

+0

pourquoi ne pas demander à l'utilisateur de se déconnecter, quelque chose dans les lignes de l'utilisateur: X connecté (si vous n'êtes pas X appuyez ici) – Alon

Répondre

0

Non, vous ne pouvez pas forcer le navigateur d'un utilisateur à fermer sans son autorisation. Editer: Bien qu'il existe des solutions de contournement pour certains navigateurs, c'est une mauvaise pratique et considérée comme intrusive.

+0

ok, je comprends. Donc, est-il possible de forcer la déconnexion mentionnée –

+0

Comme mentionné dans les autres réponses, la suppression de tous les cookies de session potentiels est probablement le meilleur moyen. En dehors de cela, vous pouvez avertir les utilisateurs des risques et leur demander de fermer le navigateur lorsqu'ils se déconnectent. –

5

Vous ne pouvez pas fermer le navigateur des utilisateurs, mais si vous pouvez identifier le cookie qui contient la session, vous pourrez peut-être l'effacer. Comment vous feriez cela dépend de la langue que vous utilisez.

En Javascript, vous auriez fonctionner sur le même domaine que le cookie que vous souhaitez effacer

var expired = new Date(); 
expired.setTime(mydate.getTime() - 86400); 
document.cookie = "my_session_cookie_name=; expires=" + expired.toGMTString(); 

Sur le côté serveur, vous pouvez les en-têtes de sortie pour définir ou effacer les cookies. Selon les paramètres du navigateur de l'utilisateur, vous pouvez configurer des cookies sur des domaines tiers. Voici un exemple en PHP

setcookie ('my_session_cookie_name', '', time() - 86400); 

//clear cookie for example.com 
setcookie('my_session_cookie_name', '', time()-86400, '/', '.example.com'); 
+0

merci, je vais essayer cette solution –

+0

Vous ne pouvez pas effacer les cookies dans un domaine tiers comme mentionné ici. –

+0

Si vous pouvez les définir, vous pouvez les effacer, il n'y a pas de différence. Cela dépend vraiment si le navigateur est configuré pour les accepter. –

2

Non, vous ne pouvez pas.

cette page il est écrit que la fermeture seulement le navigateur se déconnectera l'utilisateur

Si vous pouvez exécuter JavaScript dans le domaine droite (le Single Sign On domaine du serveur), je parie que vous pouvez déconnectez l'utilisateur en supprimant simplement le cookie de session.

0

Au moins pas dans Firefox, sinon ce sera un gros problème de convivialité.

supprimez les cookies lorsque vous fermez l'onglet.

0

il est possible de fermer le navigateur ouvert via javascript mais comme l'utilisateur ouvre le premier navigateur, il ne sera pas possible de fermer tous les navigateurs. Votre SSO devrait avoir une sorte de fonction de déconnexion, ce serait mieux. Cette fonction permet d'effacer les cookies de l'utilisateur ou d'effacer la session côté serveur.

+0

Malheureusement, cette SSO ne fournit pas la fonction de déconnexion. Ceci est le plus ennuyeux –

+0

@Peter: pas moyen de l'implémenter vous-même? – RageZ

+0

SSO est implémenté par l'autre société et je n'y ai pas accès –

-1

Il est très simple,

il suffit d'ajouter le javascript

<td width="10%"><div align="center"><a href="javascript:window.close() "><font color="#ffffff">Close</font></a></div></td> 
0

Si chaque site SSO reçoit son propre cookie, vous devrez peut-être vous connecter à l'utilisateur de chaque site individuellement SSO. Heureusement, chaque site a sa propre URL "déconnectez-vous" et vous pouvez ouvrir une page avec plusieurs iframe à chaque site SSO.

0

Vous pouvez les définir à travers des domaines, mais en fonction des paramètres de sécurité dans le navigateur , ils peuvent être bloqués, l'utilisateur peut être invité à confirmer, ou ils peuvent être admis en silence. Voici comment vous configurez Firefox à bloquer les cookies tiers: support.mozilla.com/en-US/kb/...

Et comment puis-je les définir sur plusieurs domaines?

Questions connexes