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: Ссылка
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:
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.
Sie können das User
-Modell auch einfach HttpSessionBindingListener
User
-Instanz in Sitzung gesetzt oder aus ihr entfernt wird (was auch bei der Session-Zerstörung passieren würde).
Dies wurde vor einiger Zeit auf der Mailing-Liste diskutiert: Ссылка
Tags und Links java grails shiro grails-plugin