Wie implementiert man einfach "wer ist online" in Grails oder Java Application?

8

Ich baue eine Community-Website in Grails (mit Apache Shiro für Sicherheit und Authentifizierungssystem) und möchte das Feature "Wer ist online?" implementieren.

Diese URL Ссылка (siehe Schnappschuss unten, wenn Sie keinen Zugang zu dieser URL haben) gibt ein Beispiel von dem, was ich getan habe möchte erreichen.

Wie kann ich das am einfachsten machen? Gibt es eine bestehende Lösung in Grails oder in Java?

Danke.

Snapshot: Snapshot von Wer ist Online-Seite http://www.freeimagehosting.net/uploads/th.2de8468a86 .png oder siehe hier: Ссылка

    
fabien7474 17.07.2010, 13:34
quelle

2 Antworten

21

Sie müssen alle angemeldeten Benutzer in einem Set<User> im Bereich application sammeln. Hängen Sie einfach login und logout an und fügen Sie die User entsprechend hinzu und entfernen Sie sie. Grundsätzlich:

%Vor%

Wenn Sie die eingeloggten Benutzer in der Sitzung speichern, möchten Sie einen weiteren Hook für die Sitzung destroy hinzufügen, um sich bei einem angemeldeten Benutzer abzumelden. Ich bin mir nicht sicher, wie Grails in das Bild passt, aber wenn Sie in der Java Servlet-API sprechen, möchten Sie HttpSessionListener#sessionDestroyed() dafür.

%Vor%

Sie können das User -Modell auch einfach HttpSessionBindingListener . Die implementierten Methoden werden automatisch aufgerufen, wenn die User -Instanz in Sitzung gesetzt oder aus ihr entfernt wird (was auch bei der Session-Zerstörung passieren würde).

%Vor%     
BalusC 17.07.2010 13:57
quelle
2

Dies wurde vor einiger Zeit auf der Mailing-Liste diskutiert: Ссылка

    
Stefan Armbruster 17.07.2010 14:17
quelle

Tags und Links