掲示板

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

8年前 に Patrick Kaltenböck によって更新されました。

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

New Member 投稿: 4 参加年月日: 16/01/15 最新の投稿
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
8年前 に Olaf Kock によって更新されました。

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

Liferay Legend 投稿: 6403 参加年月日: 08/09/23 最新の投稿
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.
8年前 に André Biegel によって更新されました。

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

Junior Member 投稿: 31 参加年月日: 13/11/11 最新の投稿
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é