public share link

cancel
Showing results for 
Search instead for 
Did you mean: 
4lfr3d7115
Member II

public share link

En alfresco 5.0.d como puedo configurar para que solo usuarios "administradores" puedan compartir "shared"y descompartir "unshared" un archivo hacia el publico.

El problema es que al momento cualquier usuario que tenga el rol de "consumidor" puede compartir y descompartir los ficheros, lo cual provoca que el link que se compartio previamente pueda ser modificado sin control.
3 Replies
angelborroy
Alfresco Employee

Re: public share link

Para modificar este comportamiento podrías modificar/sobreescribir el fichero <CODE>/alfresco/site-data/components/global.head-title.xml<CODE>:

[javascript]
<?xml version='1.0' encoding='UTF-8'?>
<component>
   <scope>global</scope>
   <region-id>head-title</region-id>
   <source-id>global</source-id>
   <sub-components>
      <sub-component id="default">
         <evaluations>
            <evaluation id="quickshare">
               <evaluators>
                  <evaluator type="page.component.evaluator">
                     <params>
                        <pages>quickshare</pages>
                     </params>
                  </evaluator>
               </evaluators>
               <url>/components/quickshare/title</url>
               <properties>
                  <shareId>{shareid}</shareId>
               </properties>
            </evaluation>
            <evaluation id="default">
               <url>/components/head/title</url>
            </evaluation>
         </evaluations>
      </sub-component>
   </sub-components>
</component>
[/javascript]

Si ajustas ese <CODE>evaluator</CODE> (page.component.evaluator) podrás mostrar el enlace de "Shared" para administradores y ocultarlo para el resto. Échale un vistazo a http://blogs.alfresco.com/wp/developer/2011/08/26/extensibility-module-deployment/ y a http://experiencewithalfresco.blogspot.dk/2012/06/type-subcomponent-evaluator.html

Para identificar si un usuario es o no administrador, puedes usar este código Java en tu evaluator:

<java>
@Override
    public boolean evaluate(RequestContext context, Map<String, String> arg1) {
         RequestContext rc = ThreadLocalRequestContext.getRequestContext();
         User user = rc.getUser();
         return (user != null && user.isAdmin());
    }
</java>

Hyland Developer Evangelist
psantis
Active Member II

Re: public share link

tambien puedes configurarlo en share config para que sea visible por los admins o no
angelborroy
Alfresco Employee

Re: public share link

psantis, ¿puedes detallar ese procedimiento?

No lo conozco, gracias.
Hyland Developer Evangelist