# Authentisierung Best Practise



## freez (31. Aug 2012)

Hallo Community,

ich muss 2 unterschiedliche Benutzergruppen auf einem Tomcat Server berechtigen. Keine Benutzergruppe soll die JSF Seiten der anderen sehen können. Wie das geht, ist soweit klar.

Nun möchte ich, dass jede Benutzergruppe nach dem Login auf die eigenen Seiten weitergeleitet werden (Gruppe A => Übersicht A; Gruppe B => Übersicht B). Mir sind viele Gedanken diesbezüglich durch den Kopf gegangen, wie z.b. separate Login Seiten, separate DB User Tabellen, FacesConfig/Navigation, aber irgendwo bleibe ich immer hängen, wo dann ein Fragezeichen über meinem Kopf steht.

Wie macht man sowas in der Praxis? (mir stehen natürlich die Tomcat Realms zur Verfügung, wie auch Spring (Security) 3 und die User sollen in einer oder auch mehreren Datenbanktabellen stehen).


----------



## brauner1990 (31. Aug 2012)

freez hat gesagt.:


> separate DB User Tabellen


besser wäre dabei eine User Tabelle, mit zusätzlichem Attribut auf die zugehörige Gruppe


----------



## freez (31. Aug 2012)

brauner1990 hat gesagt.:


> besser wäre dabei eine User Tabelle, mit zusätzlichem Attribut auf die zugehörige Gruppe


Ja, und wie gestallte ich es, damit die User auf genau Ihre Übersichtsseite kommen und nicht auf die von der anderen Gruppe?


----------



## DerFeivel (31. Aug 2012)

Für die einzelnen Seiten jeweils

[XML]
        <security-constraint>
                <web-resource-collection>
                        <web-resource-name>Protected Area</web-resource-name>
                        <url-pattern>/private/*</url-pattern>
                </web-resource-collection>

                <auth-constraint>
                        <!-- Only CMS editors can access this area -->
                        <role-name>cms_editors</role-name>
                </auth-constraint>

                <user-data-constraint>
                        <!-- All access to this area will be SSL protected -->
                        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                </user-data-constraint>
        </security-constraint> 
[/XML]

wobei <url-pattern> die Webseite matchen muss und <role-name> dann jeweils die Rolle sein muss.


----------



## freez (31. Aug 2012)

DerFeivel hat gesagt.:


> wobei <url-pattern> die Webseite matchen muss und <role-name> dann jeweils die Rolle sein muss.



Diese Konfiguration sichert doch den Aufruf der Seiten ab, oder?

Ich möchte es mal anders formulieren. Auf der Startseite gibt es ein LoginFormular, welches der User ausfüllen darf. Je nach Rolle soll er auf /a/uebersicht.html oder /b/uebersicht.html weitergeleitet werden, sobald die Anmeldung funktioniert hat.


----------



## brauner1990 (31. Aug 2012)

freez hat gesagt.:


> Ja, und wie gestallte ich es, damit die User auf genau Ihre Übersichtsseite kommen und nicht auf die von der anderen Gruppe?





freez hat gesagt.:


> Diese Konfiguration sichert doch den Aufruf der Seiten ab, oder?
> 
> Ich möchte es mal anders formulieren. Auf der Startseite gibt es ein LoginFormular, welches der User ausfüllen darf. Je nach Rolle soll er auf /a/uebersicht.html oder /b/uebersicht.html weitergeleitet werden, sobald die Anmeldung funktioniert hat.



Beim Login kannst du einen Redirect machen, der jeh nach UserEintrag in der DBSpalte Gruppe anders aussieht


----------



## freez (31. Aug 2012)

brauner1990 hat gesagt.:


> Beim Login kannst du einen Redirect machen, der jeh nach UserEintrag in der DBSpalte Gruppe anders aussieht



OK, wie konfiguriere ich das?


----------



## brauner1990 (31. Aug 2012)

Entweder per Eintrag in der DB, per config.properties ...


----------

