# GUI anhand Rolle/ Benutzer anpassen (Authentifizierung/ Authorisierung)



## Koringar (26. Aug 2009)

Guten Tag,

ich will meine momentane GUI (RCP) um ein Rollenkonzept erweitert, das nicht jeder Benutzer auf Kritische Teile zugreifen kann oder sieht.

Aus diesem Grund habe ich mir eine eigene Authentifizierung geschrieben und ein eigenes Rollen/ Rechte Konzept ausgedacht. Dies Funktioniert auch alles, wenn ich es über den Code machen.
Jedoch gibt es da immer noch das Hinternis, dass das Hauptmenü/ Views/ PrefencePages nicht über den Code geregelt werden sondern über die ExtensionsPoints und des halb meine Frage kann man die soweit Anpassen das diese erst immer geprüft werden ob der Benutzer das Darf und dann eben erst angezeigt oder eben nicht.

Habe gesehen das Menupunkte um 'visibleWhen' erweitert werden kann, aber wie das Funktioniert habe ich noch nicht rausgefunden. Würde mich über jede Anregung in der Richtung freuen, es würde kongret um die Elemente 'menus', 'views' und 'prefencepages' gehen.

MfG Koringar


----------



## Wildcard (27. Aug 2009)

Schau dir mal das Capabilities/Activities Konzept an.


----------



## Koringar (28. Aug 2009)

Thx für die Antwort,

ich habe mir das in der Richtigung auch schon angeschaut, aber nie wirklich was gefunden was erklärt wie das geht. Nun habe ich da was gefunden, aber so wie ich das sehe ist diese 'Activities' auch nur Statisch. Würde das ganze aber gern Dynamisch machen, das sich der Benutzer eben am Anfang Authentifiziert und je nach Rolle sich die GUI anpasst.

Ich habe dies jetzt so weitest gehen hinbekommen, leider aber nur über den Code selber. Bei den Commandos wird vorm ausführen immer geprüft ob er das darf. Die Views werden nur noch über Commandos aufgerufen.
Das Hauptmenu konnt ich auch anpassen in dem ich bei ExtensionsPoint 'org.eclipse.ui.menu' unter der 'menuContribution' das Elemet 'dynamic' ausgewällt habe und eine Klasse da angeben habe die von ContributionItem erbt und dort in der Mehtode 'fill(Menu menu, int index)' wird das Menu über den Code angelegt und vor jedem Punkt erstmal geprüft ob er das ebenfalls darf. Wenn eben nicht, dann wird es erst garnicht angezeigt.

Das einzige Problem das jetzt noch besteht sind die Prefence Pages, wenn ich das da so weiter mache. Werden die Pages in der Gesamtübersicht angezeigt, aber wenn er eben drauf klickt dann wird da nicht angezeigt. Mir wäre aber lieber, wenn die auch garnicht in der Gesamtübersicht angezeigt werden. Weis einer vielleicht wie man das über den Code regeln kann?

MfG Koringar


----------



## Wildcard (28. Aug 2009)

ACtivities...
Help -


----------

