留言板

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

Sotoku Alekido,修改在7 年前。

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

New Member 帖子: 14 加入日期: 15-7-24 最近的帖子
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,修改在7 年前。

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

Liferay Legend 帖子: 6403 加入日期: 08-9-23 最近的帖子
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,修改在7 年前。

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

New Member 帖子: 14 加入日期: 15-7-24 最近的帖子
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,修改在7 年前。

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

Liferay Legend 帖子: 1554 加入日期: 09-9-24 最近的帖子
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?