留言板

Non hai i ruoli necessari per accedere a questa portlet

thumbnail
Marco Azzalini,修改在7 年前。

Non hai i ruoli necessari per accedere a questa portlet

Regular Member 帖子: 146 加入日期: 14-11-18 最近的帖子
Ciao, di recente ho clonato il mio ambiente di sviluppo su un altra macchina. In pratica ho clonato il db ed ho copiato tutta la cartella del portale del mio PC di sviluppo. Dalle pagine di amministrazione ho fatto ricostruire gli indici, pulito cache e cose varie ed il sistema era bello che pronto e funzionante: tutti gli utenti, le pagine, portlet, etc... tranne una cosa!
Nella mia portlet, espongo un link per accedere alla portlet di amministrazione dei Gruppi Utente (PortletKeys.USER_GROUPS_ADMIN, 127) e stranamente, nell'ambiente clonato da l'errore in oggetto:
Non hai i ruoli necessari per accedere a questa portlet

Naturalmente quella portlet è specificata nel file portal-ext, nella property
portlet.add.default.resource.check.whitelist
e l'utente ha i permessi necessari, altrimenti non andrebbe nemmeno nell'ambiente originale.
Qualcuno ha qualche idea su cosa potrebbe essere? L'unica cosa che è cambiata esternamente al portale è l'indirizzo ip del server, ma tutto il portale è configurato in termini di 'localhost' che è sempre ugualmente valido su ogni sistema, quindi mi sembra poco probabile.
Mi piacerebbe poter avere altri indizi ma purtroppo nel file di log non scrive nulla a fronte dell'errore che compare all'utente.

ciao e grazie
Marco
thumbnail
Daniele Baggio,修改在7 年前。

R: Non hai i ruoli necessari per accedere a questa portlet

Expert 帖子: 336 加入日期: 08-12-5 最近的帖子
Se hai fatto tutto quello che dici, per ora non mi viene in mente nulla..
Sorry
Daniele



Sent from my Android device with Liferay.com Forums
thumbnail
Marco Azzalini,修改在7 年前。

RE: R: Non hai i ruoli necessari per accedere a questa portlet

Regular Member 帖子: 146 加入日期: 14-11-18 最近的帖子
Ciao Daniele, grazie comunque per la risposta. Ieri ho scoperto due piccole cose:

1) L'errore lo da anche se utilizzo l'utente amministratore Test; questo mi fa pensare che non ci siano reali problemi di permessi, ma il messaggio d'errore sia in qualche modo un effetto collaterale di qualcos'altro.
2) Ho ripetuto le stesse operazioni di clonazione ottenendo nuovamente un ambiente funzionante e virtualmente identico, ma con lo stesso problema emoticon
Aggiungo solo che l'url lo creo così:
	LiferayPortletURL ugAdminUrl = PortletURLFactoryUtil.create(request, PortletKeys.USER_GROUPS_ADMIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);
ugAdminUrl.setWindowState(LiferayWindowState.MAXIMIZED);
ugAdminUrl.setPortletMode(LiferayPortletMode.VIEW);
ugAdminUrl.setParameter("struts_action","/user_groups_admin/edit_user_group_assignments");
ugAdminUrl.setParameter("userGroupId", ""+ug.getUserGroupId());		

che genera questo url
http:<indirizzo ip>/it/web/guest/documents?p_p_id=127&amp;p_p_lifecycle=0&amp;p_p_state=maximized&amp;p_p_mode=view&amp;p_p_col_id=column-1&amp;p_p_col_count=2&amp;_127_struts_action=%2Fuser_groups_admin%2Fedit_user_group_assignments&amp;_127_userGroupId=138461</indirizzo>

Mentre scrivevo mi è venuto il sospetto che potesse dipendere da qualche security check a livello di portlet/struts_action ed ho aggiunto queste impostazioni nel portal-ext:
portlet.add.default.resource.check.whitelist.actions=/user_groups_admin/edit_user_group_assignments
auth.token.ignore.portlets=82,127
auth.token.ignore.actions=/user_groups_admin/edit_user_group_assignments

ma non è cambiato nulla :-(
thumbnail
Romeo Sheshi,修改在7 年前。

RE: R: Non hai i ruoli necessari per accedere a questa portlet

Junior Member 帖子: 35 加入日期: 12-5-9 最近的帖子
Ciao,

La cosa strana e che ti funzionava prima. La portlet 127 ha come add-default-resource a false e il check dei whitelist vengono eseguiti solo per le portlet che hanno add-default-resource a true

Portlets that have configured liferay-portlet.xml with the element "add-default-resource" set to true will allow those portlets to be dynamically added to any page by any user. This is useful (and necessary) for some portlets that need to be dynamically added to a page, but it can also pose a security risk because it also allows any user to do it.

Set this property to true to add a security check around this behavior. If set to true, then portlets can only be dynamically added to a page if it contains a proper security token. This security token is automatically passed when using a portlet URL from one portlet to another portlet.

Modify the property "portlet.add.default.resource.check.whitelist" to whitelist certain portlets from this security check.

The security check utilizes the implementation set in the property "auth.token.impl".
thumbnail
Marco Azzalini,修改在7 年前。

RE: R: Non hai i ruoli necessari per accedere a questa portlet

Regular Member 帖子: 146 加入日期: 14-11-18 最近的帖子
Ciao, no forse mi sono spiegato male. Non è che abbia smesso di funzionare, semplicemente sul mio ambiente di sviluppo funziona regolarmente, mentre sull'ambiente clonato non ha mai funzionato.
Ho voluto fare anche la prova simmetrica, ovvero accedere al portale sul mio pc da un computer remoto e, come pensavo, tutto funziona regolarmente; quindi penso che questo escluda definitivamente che possa essere un problema di sicurezza legato ad indirizzi remoti o locali.
Al momento ho sparato tutte le mie cartucce, se non ci sono dei log specifici da attivare a livello di browser e/o portale che possano far emergere altri indizi, non saprei cos'altro guardare.

ciao
Marco