Für kleinere private Anwendungen reicht es meist, die Daten der Benutzer in einer MySQL Datenbank abzulegen. Mit ein paar einfachen Schritten lassen sich der Wildfly Application Server und der JBoss 7 dazu bewegen, die Authentifizierung über eine MySQL Datenbankabfrage zu realisieren.

Zu Beginn wird die Datenbank angelegt:

Diese hat folgendes Schema:
authenticationdb

In die angelegt Datenbank wird nun ein Benutzer eingetragen und die Gruppe „users“ angelegt. Dann wird der Benutzer zur Gruppe hinzugefügt. Das Passwort wird base64 kodiert und als SHA-256 Hash abgelegt.

(Das Passwort lautet hier: password)

Für die Datenbank wird ein Benutzer angelegt:

Nun müssen noch ein paar Einstellungen in die standalone.xml des Wildfly eingetragen werden.

Der eben angelegte Benutzer kann über eine Datasource auf die Datenbank zugreifen (mehr zur Konfiguration einer Datasource hier).

Die eben angelegte Datasource wird nun von einer Security-Domain genutzt, um auf die Datenbank zugreifen zu können. Diese Security-Domain erwartet, dass das Passwort base64 kodiert und als SHA-256 Hash abgelegt wurde. Nach diesem Schema wurde das Passwort oben angelegt.

Das wars! Über die Security Domain „authenticationdomain“ kann sich nun innerhalb einer Java EE Anwendung authentifiziert werden. Das Datenbankschema kann beliebig abgeändert werden, es müssen nur die beiden Abfragen in der principalsQuery und der rolesQuery entsprechend angepasst werden.