# Best Practice für "Teilnahmebediengung akzeptieren"



## Mario__ (18. Mrz 2009)

Hallo,

wollte mich mal informieren was die beste Lösung bzw. ob es dafür schon ein framework oder ähnliches gibt.

Ich verwende struts2  und in meiner Applikation wird die Authentifizierung der Benutzer durch spring security vollzogen.

Jetzt soll es möglich sein, das beim ersten Login, der Benutzer eine bestimmt Seite angezeigt bekommt (Teilnahmebediengungen akzeptieren) und erst wenn er diese akzeptiert hat, kann er die WebSeite nutzen. Hat er sie einmal akzeptiert wird diese Seite nicht mehr angezeigt, bis sich die Teilnahmebediengungen ändern, danach muss jeder Benutzer diese erneut akzeptieren um die Funktionen der Seite wieder nutzen zu können.

Vielleicht gibts ja schon irgendetwas, mir ist leider nichts bekannt.

Danke

Mario


----------



## gex (18. Mrz 2009)

Hmm, mir wäre keine allgmeine Implementierung dafür bekannt, mit Spring Security kannst du das ja einfach machen.

Einfach einen Spring ApplicationListener implementieren, die Security Events abfange (sprich AuthenticationSuccessEvent), dann prüfen, ob der User die Teilnahmebedingungen bereits akzeptiert hat (denke mal das hast ein Custom User Principal Object, dass in einer DB oder LDAP persistiert wird), falls dem so ist, verteilst du dem User eine zusätzliche Rolle, die kennzeichnet, ob die Bedingungen akzeptiert wurden. 
Mit dieser Rolle kannst du dann die ganze Page schützen und nur eine Seite für die Bestätigung der Bedinungen hinterlegen.

Wenn die Bedinungen ändern, dann setzt du das Flag im User-Repo (DB / LDAP) einfach zurück.

Ist wohl keine grosse Sache.

Gruss


----------



## Mario__ (19. Mrz 2009)

Klingt schon mal gut, werde es gleich mal ausprobieren  DANKE


----------

