# Mehrfachanmeldung unterbinden



## Deadalus (12. Okt 2009)

Hallo

Zur Anmeldung an meine Webanwendung benutze ich momentan einen jdbc Realm, den ich in Glassfish angelegt habe. Die Anmeldung funktioniert auch wie gewollt, allerdings sind per Default Mehrfachanmeldungen möglich. (Benutzer Admin kann auf X Rechnern gleichzeitig in der Anwendung angemeldet sein)

Das würde ich gerne unterbinden. Weiß jemand von euch wie?


----------



## Unregistriert (12. Okt 2009)

Hallo Deadalus,

leider habe ich keine Antwort auf Deine Frage, aber ich würde gerne wissen, wie Du das mit JDBC Realm verwirklicht hast. Ich habe mich da auch schon einmal mit befasst, nur leider war mit das zu unverständlich. Hast Du evtl. eine Anleitung, Buch HowTo etc.? Danke schon einmal!

Greetz
Nordevil


----------



## Deadalus (13. Okt 2009)

Hmm das ist relativ einfach zumindest in Glassfish. Alles was du brauchst ist eine Datenbank mit Passwörtern, Benutzernamen und Rollen. (Entweder alles in einer Tabelle oder die Rollen getrennt). 
Die Datenbank sollte vorher schon als DataSource in Glassfish eingetragen sein. 

Dann kannst du unter Konfiguration -> Sicherheit -> Bereiche einen neuen Realm erstellen.
Die meisten Angaben sind selbsterklärend. Der JNDI-Name ist der Name deiner DataSource (also der eingetragenen DB in Glassfish). Bei Digest Algorithmus musst du angeben in was für einer Form die Passwörter in der DB gespeichert werden. Im Klartext wäre das "none" ansonsten "md5" oder was du halt benutzt. Passwort und Benutzername musst du nicht angeben wenn die schon in der DataSource angegeben sind. 

Das wars auch eigentlich schon. Hier noch eine bebilderte Anleitung:

Mort Learns JDBC Realm Authentication for GlassFish - Byron Nevins

Vorsicht in der Anleitung steht 


> Digest Algorithm
> 
> You have to decide whether to save passwords as clear-text or encrypted.  If you want clear-text, leave the edit field blank


Das stimmt nicht!! In dem Fall muss da "none" stehen. Das hat mich beim 1. Versuch Stunden gekostet.


----------



## Nordevil (13. Okt 2009)

Vielen Dank für die Antwort. Werde ich mal ausprobieren. Mit Glassfish habe ich das noch nicht versucht. Danke!


----------



## FArt (13. Okt 2009)

Deadalus hat gesagt.:


> Hallo
> 
> Zur Anmeldung an meine Webanwendung benutze ich momentan einen jdbc Realm, den ich in Glassfish angelegt habe. Die Anmeldung funktioniert auch wie gewollt, allerdings sind per Default Mehrfachanmeldungen möglich. (Benutzer Admin kann auf X Rechnern gleichzeitig in der Anwendung angemeldet sein)
> 
> Das würde ich gerne unterbinden. Weiß jemand von euch wie?



Das ist technisch zwar möglich (z.B. mit einem Token, welches bei einem Login vom Client generiert wird bei jedem Call mitgeschickt wird; auf dem Server ist nur die erste bekannt Kombination gültig), aber du hast da im Handling noch etwas vergessen:
Was machst du, wenn sich (wie so oft in Webanwendungen) der Client nicht sauber abmeldet? Da bräuchtest du eine Timeout- und KeepAlive-Regelung, da sich sonst ein User nicht mehr anmelden kann. Auch mit Timeout kann es einen Zeitraum geben, in dem ihn der Server abweist...


----------

