Fórum

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

Sotoku Alekido, modificado 8 Anos atrás.

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

New Member Postagens: 14 Data de Entrada: 24/07/15 Postagens Recentes
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, modificado 7 Anos atrás.

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

Liferay Legend Postagens: 6403 Data de Entrada: 23/09/08 Postagens Recentes
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, modificado 7 Anos atrás.

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

New Member Postagens: 14 Data de Entrada: 24/07/15 Postagens Recentes
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, modificado 7 Anos atrás.

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

Liferay Legend Postagens: 1554 Data de Entrada: 24/09/09 Postagens Recentes
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?