Foren

Verfügbarkeit von von Portlets von Rollen abhängig machen lassen

Sotoku Alekido, geändert vor 7 Jahren.

Verfügbarkeit von von Portlets von Rollen abhängig machen lassen

New Member Beiträge: 14 Beitrittsdatum: 24.07.15 Neueste Beiträge
Hallo allerseits!

Gibt es für Liferay Portlets eine Musterlösung für eine Konfiguration oder eine Implementierung, um bestimmte Portlets nur für bestimmte Rollen verfügbar machen zu lassen? (Wenn quasi ein User sich einloggt, und dieser eine bestimmte Rolle nicht zugewiesen bekommen hat, soll dieser User auch keinen Content/keine Verfügbarkeit für bestimmte Portlets haben.)
thumbnail
Olaf Kock, geändert vor 7 Jahren.

RE: Verfügbarkeit von von Portlets von Rollen abhängig machen lassen

Liferay Legend Beiträge: 6396 Beitrittsdatum: 23.09.08 Neueste Beiträge
Sotoku Alekido:
Gibt es für Liferay Portlets eine Musterlösung für eine Konfiguration oder eine Implementierung, um bestimmte Portlets nur für bestimmte Rollen verfügbar machen zu lassen? (Wenn quasi ein User sich einloggt, und dieser eine bestimmte Rolle nicht zugewiesen bekommen hat, soll dieser User auch keinen Content/keine Verfügbarkeit für bestimmte Portlets haben.)


Eine Musterlösung nicht - aber Liferay's Rechtesystem ist recht vielseitig einsetzbar. Auf Portlet- oder Content-Ebene.

Recht häufig rate ich jedoch dazu, "Rechte" nochmal zu überdenken: Oft sehe ich "Rechte" verwendet, wo eigentlich "Präferenzen" gemeint sind - zwar macht es keinen Sinn, bestimmte Sachen zu sehen, aber es schadet auch nicht. In dem Fall würde ich lieber dynamische Inhalte anzeigen - aufgrund von "Interesse" oder "Relevanz".

Wie? Kommt darauf an - ich will auf jeden Fall auf die Möglichkeit hinweisen: Rechte sind bei weitem nicht die einzige Möglichkeit, Benutzern bestimmte Daten anzuzeigen oder zu verbergen. Die Rollen in Liferay können sehr flexibel angepasst oder um weitere eigene Rollen jeweils mit eigenen Rechten erweitert werden (Control Panel -> Roles)
Sotoku Alekido, geändert vor 7 Jahren.

RE: Verfügbarkeit von von Portlets von Rollen abhängig machen lassen

New Member Beiträge: 14 Beitrittsdatum: 24.07.15 Neueste Beiträge
Vielen Dank für die Antwort!

Ich habe jetzt als Lösung wahrscheinlich eine unkonventionelle aber dennoch von der Liferay API bereitgestellte Methode ausgewählt:
if (renderRequest.isUserInRole("power-user")) {
    // ...
}

Das Laden des Portlet-Contents wird bei der Initialisierung von den vom User besetzten Rollen abhängigbar gemacht.
Danke nochmal Herr Kock!
thumbnail
Christoph Rabel, geändert vor 7 Jahren.

RE: Verfügbarkeit von von Portlets von Rollen abhängig machen lassen

Liferay Legend Beiträge: 1554 Beitrittsdatum: 24.09.09 Neueste Beiträge
Ich würde empfehlen, nicht auf die Rollennamen zu gehen, sondern ein Recht abzufragen. Dann muss nicht jedes mal deployed werden, wenn eine neue Rolle definiert wird. Mag jetzt so praktisch sein, ist aber nicht besonders wartbar.

Ansonsten verstehe ich das Problem nicht ganz. Wenn es nur um Sichtbarkeit des Portlets geht: Warum nicht einfach das Portlet auf die entsprechende Seite ziehen, Guest/Site-Member das View Recht entziehen und es den gewünschten Rollen geben?