Foren

Problem mit user groups, roles und page permissions

Thomas Fröhlich, geändert vor 14 Jahren.

Problem mit user groups, roles und page permissions

New Member Beiträge: 21 Beitrittsdatum: 02.09.09 Neueste Beiträge
Hallo,

ich habe ein "Problem" mit der Rollen-abhängigen Sichtbarkeit von Seiten (pages) einer Organisation. Da keine Exceptions auftreten kann es durchaus ein Bedienfehler sein, der sich mir trotz Lesen der Liferay Admin - Doku und vergeblicher Suche hier im Forum nicht erschließt emoticon
Ziel ist es, in Abhängigkeit von Liferay Rollen Seiten nur für diese Rollen sichtbar zu machen / freizugeben. Also User der Rolle A sehen nur Seiten, die dieser Rolle A zugeordnet sind und auf keinen Fall Seiten, die Usern der Rolle B gehören.


Folgende Ausganssituation:

- verwendete Liferay Version: 5.2.3 + ORACLE 11g für die Persistenz; installiert wurde das liferay-portal-5.2.3.war in
einen Tomcat 6.0.20; die Installation ist ohne Probleme lauffähig - alles funktioniert bestens emoticon
- Authentifizierung erfolgt über LDAP (MS Server 2008 AD DS angebunden)
- erfolgreicher Import der User und Gruppen aus dem LDAP; das Anmeldem im Liferay mit LDAP-Usern und unter Verwendung des
sAMAccountName funktioniert tadellos
-> die importierten LDAP User sind im "Control Panel -> Users" sichtbar
-> die importierten LDAP Gruppen sind im "Control Panel -> User Groups" sichtbar; klickt man hier auf "Action -> View Users"
sind die im LDAP der Gruppe zugeordneten User korrekt sichtbar


Dann erfolgte das Mapping der LDAP Gruppen auf Liferay Rollen:
- Anlegen einer Liferay - Rolle "Role A" unter "Control Panel -> Roles -> Add" (Role Type "Regular")
- Verknüpfen der neu angelegten Rolle mit einer LDAP Gruppe unter "Control Panel -> Roles -> View All ->
(Auswählen der neuen Rolle) -> Actions -> Assign Members -> User Groups Tab -> Available"
- es wurde eine neue Organisation "My Company" angelegt
- zum Schluß wurden alle importierten LDAP User wie in der Doku beschrieben der Organisation zugewiesen: "Control Panel ->
Organizations -> View All -> (gewählt "My Company") -> Actions -> Assign Members"
- Für weitere Tests steht damit die folgende Struktur zur Verfügung:

My Company
|
|- Role A
| |- UserA1
| |- UserA2
|
|- Role B
|- UserB1
|- UserB2

Nun wurde für jede Rolle eine Seite angelegt, die auch nur für diese Rolle bzw. User dieser Rolle sichtbar sein soll:

- Anlegen einer neuen Seite unter "Control Panel -> Organizations -> (gewählt "My Company") -> Actions -> Manage Pages",
Reiter "Public Pages"
- den zentralen Knoten "My Company" gewählt, den Seitennamen "Role A Workspace" eingegeben und "Add Page" geklickt
- die neue Seite "Role A Workspace" ausgewählt, Reiter "Page" geklickt, Button "Permissions" geklickt; hier wurden NUR die
Permissions für die Rolle "Owner" und "Role A" gesetzt, alle anderen Permissions, die per default bereits gesetzt sind
(Rolle "Guest", Rolle "Organization Member"), wurden abgewählt; gespeichert mit "Submit"
- "Back" zur Seite mit der Seiten-Struktur
- die neue Seite "Role A Workspace" ausgewählt und über "View Pages" die Inhalte (Aufteilung, Applikationen) eingerichtet
- das Ganze noch einmal mit einer 2. Seite "Role B Workspace" wiederholt, die NUR die Permissions für die Rolle "Owner"
und "Role B" hat


Testfall und Problem:

- Anmelden an Liferay mit "UserA1" (Role A)
- wechseln zu "My Places -> My Company -> Public Pages"
- ich sehe - wie erwartet - korrekterweise die Seite "Role A Workspace"; "Role B Workspace" ist nicht sichtbar
- für User der Rolle "Role A" ist alles ok
- Wichtig: die URL für diese Seite lautet http://localhost:8080/web/my-company/role-a-workspace

- Anmelden an Liferay mit "UserB1" (Role emoticon
- wechseln zu "My Places -> My Company -> Public Pages"
- Problem: ich sehe NICHT - wie erwartet - die Seite "Role B Workspace" sondern eine Seite "Welcome"
- die URL hier ist auch http://localhost:8080/user/userb1/home und nicht - wie erwartet -
http://localhost:8080/web/my-company/role-b-workspace
- gebe ich aber als angemeldeter User "UserB1" die URL http://localhost:8080/web/my-company/role-b-workspace direkt ein,
erhalte ich die der Rolle zugeordnete Seite

Ich vermute, dass - aus welchen Gründen auch immer - der User "UserB1" über das Menü keine Zugriffsberechtigung auf die Seite "Role B Workspace" hat und auf eine Standardseite "Welcome" zurückfällt. Aber WARUM?

Tests haben noch etwas vollkommen unerklärliches gezeigt:
- Unter "Control Panel -> Organizations -> (gewählt "My Company") -> Actions -> Manage Pages" kann man die
"Display Order" der Seiten ändern
- tauscht man die Reihenfolge und verschiebt die bisherige 2. Seite "Role B Workspace" an 1. Stelle vor "Role B Workspace"
funktioniert das Rollen-abhängige Anzeigen von Seiten nun plötzlich nur noch für "UserB1"
-> verallgemeinert: die Rollenabhängigkeit der Seiten funktioniert immer nur genau für die 1. Seite unterhalb der Organisation
"My Company"....

Ich bin total verwirrt emoticon Was mache ich falsch? Oder ist das ein "known issue"?

Vielen Dank für jeden Hinweis

Thomas
thumbnail
Dennis Greiffenberg, geändert vor 14 Jahren.

RE: Problem mit user groups, roles und page permissions

Regular Member Beiträge: 222 Beitrittsdatum: 30.04.07 Neueste Beiträge
Hallo Thomas,

ich wage mal den folgenden Versuch:
- tauscht man die Reihenfolge und verschiebt die bisherige 2. Seite "Role B Workspace" an 1. Stelle vor "Role B Workspace"
funktioniert das Rollen-abhängige Anzeigen von Seiten nun plötzlich nur noch für "UserB1"
-> verallgemeinert: die Rollenabhängigkeit der Seiten funktioniert immer nur genau für die 1. Seite unterhalb der Organisation
"My Company"....


Wenn ich nicht schwer irre muss die erste Seite (einer Community, Organisation, etc.) immer für alle (Mitglieder dieses "Bereiches") sichtbar sein. Alle weiteren Seiten kannst Du dann individueller einschränken.

- die URL hier ist auch http://localhost:8080/user/userb1/home und nicht - wie erwartet -
http://localhost:8080/web/my-company/role-b-workspace
- gebe ich aber als angemeldeter User "UserB1" die URL http://localhost:8080/web/my-company/role-b-workspace direkt ein,
erhalte ich die der Rolle zugeordnete Seite


Für den zweiten User ist offensichtlich ein privater Bereich angelegt worden. Dies passiert standardmäßig, wenn der Benutzer die Rolle "Hauptbenutzer" innehat (was der Standard ist!). Ich vermute bei Dir wurde ein User via LDAP und der andere manuell angelegt?
Falls Deine User keine privaten Seiten haben sollen solltest Du das in den "Default User Associations" im Control Panel auf "User" ändern.
Achtung: Wenn ein Benutzer einmal private Seiten hatte verschwinden diese AFAIK nicht so ohne weiteres.
Ich würde die User auf der Testmaschine (deaktivieren und) löschen und neu anlegen.
Wenn Benutzer generell keine privaten Seiten haben sollen kannst Du in der ./webapps/ROOR/WEB-INF/classes/portal-ext.properties folgendes eintragen:
layout.user.public.layouts.enabled=false
layout.user.private.layouts.enabled=false


Ich hoffe, dass hilft Dir weiter.
Beste Grüße,
Dennis
Thomas Fröhlich, geändert vor 14 Jahren.

RE: Problem mit user groups, roles und page permissions

New Member Beiträge: 21 Beitrittsdatum: 02.09.09 Neueste Beiträge
Hi Dennis,

Dennis Greiffenberg:
Wenn ich nicht schwer irre muss die erste Seite (einer Community, Organisation, etc.) immer für alle (Mitglieder dieses "Bereiches") sichtbar sein. Alle weiteren Seiten kannst Du dann individueller einschränken.


Du hast vollkommen recht emoticon Ich habe inzwischen einen ähnlichen Hinweis im engl. Forum gefunden. Dort wird explizit darauf hingewiesen, dass die "Liferay-Implementation" an dieser Stelle so verquer ist und genau solch eine Seite, die für alle "Organization Member" sichtbar ist, verlangt.

Ich habe so eine Willkommen-Seite mit Zugriffsrechten "für alle" an die erste Stelle gestellt - und es geht einfach nur.

Beste Grüße
Thomas