2017-06-19 2 views
1

J'ai mon portlet avec les opérations CRUD (différents paquets, services, etc.).Contrôleur d'autorisation de recherche Liferay 7

Je souhaite implémenter des actions personnalisées dans l'autorisation de ce portlet.

Je crée le fichier default.xml:

<?xml version="1.0"?> 

<resource-action-mapping> 
     <portlet-resource> 
     <portlet-name>com.mypackage.MyPortlet</portlet-name> 
      <permissions> 
      <supports> 
       <action-key>STACKOVERFLOW_ACTION</action-key> 
      </supports> 
      </permissions> 
     </portlet-resource> 
</resource-action-mapping> 

Et créer portlet.properties:

include-and-override=portlet-ext.properties 
resource.actions.configs=resource-actions/default.xml 

Les questions est - pourquoi dois-je rien dans le panneau de contrôle en plus des actions par défaut la vie "ADD_TO_PAGE", etc? Qu'est-ce que je fais mal?

UPD: Cette variante ne fonctionne pas aussi. = (

<?xml version="1.0"?> 

<!DOCTYPE resource-action-mapping PUBLIC "-//Liferay//DTD Resource Action Mapping 7.0.0//EN" "http://www.liferay.com/dtd/liferay-resource-action-mapping_7_0_0.dtd"> 

<resource-action-mapping> 

<model-resource> 
     <model-name>mypackage.web.portlet.MyPortlet</model-name> 
    <portlet-ref> 
     <portlet-name>mypackage_web_portlet_MyPortlet</portlet-name> 
    </portlet-ref> 
    <root>true</root> 
    <weight>1</weight> 
    <permissions> 
     <supports> 
      <action-key>VIEW_TEST</action-key> 
     </supports> 
     <site-member-defaults> 
      <action-key>SUBSCRIBE_TEST</action-key> 
     </site-member-defaults> 
     <guest-defaults /> 
     <guest-unsupported> 
      <action-key>ADD_ENTRY_TEST</action-key> 
      <action-key>PERMISSIONS_TEST</action-key> 
      <action-key>SUBSCRIBE_TEST</action-key> 
     </guest-unsupported> 
    </permissions> 
</model-resource> 

Répondre

0

Vous devez utiliser le <model-resource> bloc plutôt que <portlet-resource>: Portlet-ressources est gérée par Liferay (et utilise le vocabulaire prédéfini) alors que votre portlet ou service présente ses propres types de données, sur lequel vous pouvez définir vos propres autorisations.

+0

Merci pour votre réponse, je l'ai mis à jour ma question. Je l'ai déjà essayé d'utiliser '' et il est ne fonctionne pas. Pourriez-vous me dire SMTH comme séquence d'actions étape par étape? Je pense que je manque juste quelque chose – German