Fórum

Permissions auf eine Organisations-Rolle / com.liferay.portal.NoSuchResourc

Patrick Kaltenböck, modificado 8 Anos atrás.

Permissions auf eine Organisations-Rolle / com.liferay.portal.NoSuchResourc

New Member Postagens: 4 Data de Entrada: 15/01/16 Postagens Recentes
Hallo,

ich habe ein Problem beim Setzen von eigenen Permissions.
Ich bekomme hier immer eine com.liferay.portal.NoSuchResourceActionException Exception.

Konkret habe ich folgendes gemacht.
portlet.properties
resource.actions.configs=resource-actions/permissions.xml

resource-actions/permissions.xml
<resource-action-mapping>
<portlet-resource>
<portlet-name>testportlet</portlet-name>
<permissions>
<supports>
<action-key>VST-ACCESS</action-key>
</supports>
</permissions>
</portlet-resource>
</resource-action-mapping>

Berechtigung setzen mit
Rollenverwaltung --> Organisations Rolle anklicken --> Define Permissions --> Dann links im Baum Site Administration / Applications / testportlet auswählen
Bei den Berechtigungen dann VST-ACCESS anklicken und Speichern klicken.

Dann wird nur mehr Roles is temporarily unavailable. ausgegeben und am Server kommt folgende Exception:
13:47:09,403 ERROR [http-bio-8080-exec-18][render_portlet_jsp:132] null
com.liferay.portal.NoSuchResourceActionException: xxx#VST-ACCESS
at com.liferay.portal.service.impl.ResourceActionLocalServiceImpl.getResourceAction(ResourceActionLocalServiceImpl.java:196)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
at com.liferay.portal.service.impl.ResourcePermissionLocalServiceImpl.doUpdateResourcePermission(ResourcePermissionLocalServiceImpl.java:1211)
at com.liferay.portal.service.impl.ResourcePermissionLocalServiceImpl.updateResourcePermission(ResourcePermissionLocalServiceImpl.java:1363)
at com.liferay.portal.service.impl.ResourcePermissionLocalServiceImpl.addResourcePermission(ResourcePermissionLocalServiceImpl.java:147)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
at com.liferay.portal.service.impl.ResourcePermissionServiceImpl.addResourcePermission(ResourcePermissionServiceImpl.java:90)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)

Vielleicht kann mir ja jemand hier weiterhelfen.
thumbnail
Olaf Kock, modificado 8 Anos atrás.

RE: Permissions auf eine Organisations-Rolle / com.liferay.portal.NoSuchRes

Liferay Legend Postagens: 6403 Data de Entrada: 23/09/08 Postagens Recentes
Ich könnte mir vorstellen (ohne es auszuprobieren) dass es an der Konfiguration für <portlet-resource> liegt: portlet-resource wird von Liferay behandelt und bezeichnet die Aktivitäten, die man mit dem Portlet selbst (als opake Anwendung) durchführen kann. Das ist so was wie ADD_TO_PAGE, PERMISSIONS etc. Naturgemäß ist hier eine permission VST-ACCESS nicht bekannt.

Es gibt auch <model-resource> für die Resourcen, die von einem Portlet eingeführt werden. Für diese ist die freie Wahl des permission-Vokabulars nicht nur möglich sondern sogar üblich. Ich würde VST-ACCESS also eher dort (auf Toplevel) anhängen - analog zu ADD_GUESTBOOK in diesem Kapitel der Dokumentation.
André Biegel, modificado 8 Anos atrás.

RE: Permissions auf eine Organisations-Rolle / com.liferay.portal.NoSuchRes

Junior Member Postagens: 31 Data de Entrada: 11/11/13 Postagens Recentes
Ja Olaf hat da Recht.. Diese exception kommt wenn die ResourceAction für den Typ nicht bekannt ist. In der Db tabelle ResourceAction kannst du sehen auf welchen typ (mittels ClassnameId) deine Action angemeldet ist .. da muss eine Differenz zwischen dem sein was angemeldet ist und was du anforderst

Gruß André