cancel
Showing results for 
Search instead for 
Did you mean: 

masquer le lien "gérer les règles " pour les non admin dans alfresco 5.2

iamri
Confirmed Champ
Confirmed Champ

Bonjour,

s'il vous plait j'ai un petit soucis au niveau de la personnalisation de l'interface d'Alfresco 5.2, j'ai besoin de désactiver les liens 'gérer les règles' 'gérer les aspects' 'gérer les droits d’accès' pour les non-admin.

je vous remercie d'avance.

1 ACCEPTED ANSWER

iamri
Confirmed Champ
Confirmed Champ

merci Yann Coulon c'est bon j'ai trouvé la solution 

dans la classe java j'ai oublié de définir le package 

package org.alfresco.web.evaluator;

 en suite j'ai modifier le bean:

<bean id="evaluator.doclib.action.IsAdminUser" class="org.alfresco.web.evaluator.IsAdminUserEvaluator" /> 

View answer in original post

9 REPLIES 9

cristinamr
World-Class Innovator
World-Class Innovator

Bonjour!

Je pense que cela peut être la base >> Removing View in Browser action in Alfresco 4.2 | In just five minutes… 

Cris.

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

Bonjour,

Merci pour votre réponse, j'ai essayé déjà cette solution mais cela désactive la fonction pour tous les utilisateurs y compris Admin, et moi je veux que la gestion des règles fonctionne seulement pour les admins, est ce c'est possible ?? 

Merci.

cristinamr
World-Class Innovator
World-Class Innovator

Regardez le premier commentaire >>

Anonymous on May 21, 2013 at 18:03 said:

Great example. Is there a way to disable Actions based on role, e.g. Consumer?

Je vous recommande d'étendre les autorisations et seul le manager le voit >> Defining permissions | Alfresco Documentation 

Cris.

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

bonjour, 

j'ai vu les liens que vous m'avez envoyés

j'ai un autre souci, je trouve pas le fichier  permissionDefinitions.xml pour gérer les permissions, et y a d'autre fichier aussi que je n'ai pas !!! par ex: public-services-security-context.xml  

d’après mes recherches normalement il faut déployer des fichiers .jar  qui se trouvent tomcat/webapps/alfresco/WEB-INF/lib ,

mais quel fichier il faut le déployer???? et comment ???   

avez vous une idée concernant ces fichiers ???

 

Merci pour vos réponses.

imene  

Bonjour,

Pour masquer une actions, pas besoin de se rendre dans ces fichiers, un simple "evaluator" fera l'affaire : Evaluators | Alfresco Documentation.

Il est d'ailleurs fortement déconseiller de toucher au fichiers natif d'Alfresco sous peine de se voir compliquer la tâche de mise à jour vers une nouvelle version.

Pour votre besoin, je vous conseille la lecture de ce post : Display documentlibrary action for admins only  qui fournit un example d'implémentation pour l'évaluateur en question.

Y.

iamri
Confirmed Champ
Confirmed Champ

Bonjour, 

Merci pour votre aide Smiley Happy 

j'ai suivi la procedure de création d'un évaluateur "IsUserAdmin" mais quand j'ajoute le bean dans le fichier tomcat/shared/classes/alfresco/web-extension/custom-slingshot-application-context.xml

<bean id="evaluator.doclib.action.isAdminUser" class="org.alfresco.web.evaluator.doclib.action.IsAdminUserEvaluator" />

alfresco log m'affiche des erreurs : 

2018-07-29 10:51:42,469 WARN [context.support.XmlWebApplicationContext] [localhost-startStop-1] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.alfresco.web.evaluator.IsAdminUserEvaluator] for bean with name 'evaluator.doclib.action.isAdminUser' defined in file [/1x13/apps/alfresco/tomcat/shared/classes/alfresco/web-extension/custom-slingshot-application-context.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/alfresco/web/evaluator/IsAdminUserEvaluator (wrong name: IsAdminUserEvaluator)

2018-07-29 10:51:42,470 ERROR [web.context.ContextLoader] [localhost-startStop-1] Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.alfresco.web.evaluator.IsAdminUserEvaluator] for bean with name 'evaluator.doclib.action.isAdminUser' defined in file [/1x13/apps/alfresco/tomcat/shared/classes/alfresco/web-extension/custom-slingshot-application-context.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/alfresco/web/evaluator/IsAdminUserEvaluator (wrong name: IsAdminUserEvaluator)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1281)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:575)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1347)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:913)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:617)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:938)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:679)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1966)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/alfresco/web/evaluator/IsAdminUserEvaluator (wrong name: IsAdminUserEvaluator)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)...

avez vous une idée concernant ce problème!?

merci. 

ycoulon
Employee
Employee

Bonjour,

Le message indique que la classe "org/alfresco/web/evaluator/IsAdminUserEvaluator" n'est pas chargé.

Pourriez-vous décrire les étapes suivit ?

Y.

iamri
Confirmed Champ
Confirmed Champ

Bonjour, 

voila les étapes que j'ai suivi:

1- créer un évaluator IsAdminUserEvaluator.java

import org.alfresco.web.evaluator.BaseEvaluator;
import org.springframework.extensions.surf.RequestContext;
import org.json.simple.JSONObject;
import org.springframework.extensions.surf.support.ThreadLocalRequestContext;
import org.springframework.extensions.webscripts.connector.User;
import org.springframework.extensions.surf.extensibility.HandlesExtensibility;

public class IsAdminUserEvaluator extends BaseEvaluator {

@Override
public boolean evaluate(JSONObject jsonObject) {
RequestContext rc = ThreadLocalRequestContext.getRequestContext();
User user = rc.getUser();

return (user != null && user.isAdmin());
}

}

2- exécuter .java afin d'obtenir le fichier IsAdminUserEvaluator.class que je l'ai copier dans "tomcat/webapps/share/WEB-INF/classes/org/alfresco/web/evaluator/doclib/action"

3- ajouter ces lignes dans le fichier share-config-custom.xml

<config evaluator="string-compare" condition="DocLibActions">
<actions> <action id="folder-manage-rules">
<evaluator>evaluator.doclib.action.IsAdminUser</evaluator>
</action></actions>
</config>

4- ajouter le bean pour définit mon évaluateur dans le fichier tomcat/webapps/share/WEB-INF/classes/alfresco/slingshot-documentlibrary-context.xml 

vu que tout les évaluateurs sont définit dans ce fichier 

<bean id="evaluator.doclib.action.isAdminUser" class="org.alfresco.web.evaluator.doclib.action.IsAdminUserEvaluator" />

5- relancer le serveur 

ps: j'ai essayé aussi de mettre le bean dans le fichier shared/classes/alfresco/web-extension/custom-slingshot-application-context.xml et ca donne une erreur 404 et n'affiche aucune erreur dans mon alfresco log 

voila tt les étapes et merci.

iamri
Confirmed Champ
Confirmed Champ

merci Yann Coulon c'est bon j'ai trouvé la solution 

dans la classe java j'ai oublié de définir le package 

package org.alfresco.web.evaluator;

 en suite j'ai modifier le bean:

<bean id="evaluator.doclib.action.IsAdminUser" class="org.alfresco.web.evaluator.IsAdminUserEvaluator" />