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.
Solved! Go to Solution.
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" />
Bonjour!
Je pense que cela peut être la base >> Removing View in Browser action in Alfresco 4.2 | In just five minutes…
Cris.
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.
Regardez le premier commentaire >>
Great example. Is there a way to disable Actions based on role, e.g. Consumer?
Hi, I didn’t faced that problem but here some insights.
Here you can see the default permissions model for all the document actions:http://deepak-keswani.blogspot.com.es/2012/03/user-roles-and-permissions-in-alfresco_4833.html
I guess if I had to change a default permission for a certain action, I would write something like:
<action id="...
<permissions>
<permission allow="true">Finalise</permission>
</permissions>
...
</action>
Above is just an example, you’d need to replace “Finalise” for another permission that Cosumers don’t have.
Hope this helps.
Je vous recommande d'étendre les autorisations et seul le manager le voit >> Defining permissions | Alfresco Documentation
Cris.
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.
Bonjour,
Merci pour votre aide
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.
Bonjour,
Le message indique que la classe "org/alfresco/web/evaluator/IsAdminUserEvaluator" n'est pas chargé.
Pourriez-vous décrire les étapes suivit ?
Y.
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.
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" />
Discussions about Alfresco Content Services and Alfresco Process Services in French
Related:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.