J'espère que ma question sur le titre a un sens, sinon, disons: machine A, via le navigateur web, je me connecte en tant que admin
, I aller à la machine B, et connectez-vous en tant que admin
, le navigateur Web dans la machine A devrait forcer une déconnexion sur l'utilisateur admin
. J'ai réfléchi un peu, et je pense que ce sera moche si j'essaie de le mettre en œuvre manuellement. J'ai le sentiment que cela peut être fait dans Glassfish. J'utilise Java EE 6 + Glassfish v3.0.1. L'authentification et l'autorisation sont mises en œuvre par l'intermédiaire jdbcRealm mis en place dans GlassfishJava EE + GlassFish: Forcer l'utilisateur à se déconnecter s'il/elle se connecte ailleurs
0
A
Répondre
5
- créer et carte (en utilisant
<listener>..</listener>
dans web.xml) unHttpSessionListener
- sur
sessionCreated(..)
stocker une référence à la session duServletContext
, dans unMap<String, Session>
- lorsque l'utilisateur se connecte, obtenez le
Map
à partir duServletContext
et vérifiez si une session a le même user/userId qu'un attribut de session. - s'il y a,
session.invalidate()
il. - si vous voulez l'utiliser dans un cluster, vous pouvez utiliser une base de données pour stocker les informations afin qu'il soit accessible de partout, ou utilisez un cache distribué (JBoss Cache, Ehcache)
+1
Peut-être une carte
+0
bonne idée. mise à jour – Bozho
+0
Malheureusement, cela ne fonctionnera pas dans un cluster. –
Questions connexes
- 1. Glassfish se connecte sur JSF Page
- 2. Se déconnecter avec java.net.Authenticator
- 3. Comment se connecter/se déconnecter d'un serveur?
- 4. Java EE ou Netbeans avec Glassfish?
- 5. Se déconnecter pendant la navigation
- 6. Force DataMapper à se déconnecter de postgresql
- 7. Comment se déconnecter avec facebooker?
- 8. facebook-ios-sdk se déconnecter
- 9. Round robin se connecte à mysql
- 10. WCF - Qui se connecte à moi
- 11. mysql5-client se connecte à mysql4 serveur
- 12. Telerik se connecte à Dynamics CRM
- 13. WebClient ne se connecte pas à IHttpHandler
- 14. Squid se connecte sur mongodb
- 15. Se déconnecter de Documentum Server
- 16. Comment se déconnecter de vbscript?
- 17. Comment se déconnecter de Relying Party?
- 18. Comment se déconnecter d'un utilisateur en PHP?
- 19. Comportement de Socket Java étrange (se connecte, mais n'envoie pas)
- 20. Impossible de se déconnecter d'Oracle SSO
- 21. Glassfish se bloque sur OS X 10.5/Java 6
- 22. Passage à Java 6 EE à partir de Java 6 SE
- 23. se déconnecter de la base de données
- 24. comment se déconnecter dans l'application Windows Mobile?
- 25. web2py - mon application ne se connecte pas
- 26. Apache se connecte au fichier spécifique
- 27. Python + GStreamer - Ne se connecte pas
- 28. Comment se déconnecter de plusieurs applications asp.net?
- 29. SPP Socket createRfcommSocketToServiceRecord ne se connecte pas
- 30. TortoiseSVN ne se connecte pas au référentiel
Est-ce que vous contrôlez les deux machines? Si non, les machines sont-elles toutes deux dans le même domaine, et B émet-il des cookies pour le domaine partagé plutôt que pour lui-même? Si la réponse aux deux questions est non, cela ne peut pas être fait. –
@Tom: Je pense qu'il voulait dire "machine client", pas "serveur" ici. @Harry: question similaire: http://stackoverflow.com/questions/2372311/jsf-how-to-invalidate-an-user-session-when-he-logs-twice-with-the-same-credentia – BalusC
@BalusC : Aaah, oui, mon malentendu, je vois. –