留言板

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

Patrick Kaltenböck,修改在8 年前。

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

New Member 帖子: 4 加入日期: 16-1-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
Olaf Kock,修改在8 年前。

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

Liferay Legend 帖子: 6403 加入日期: 08-9-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.
André Biegel,修改在8 年前。

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é