Récupérer le rôle de l'utilisateur connecté

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

Récupérer le rôle de l'utilisateur connecté

Bonjour,

je suis en train de faire un évaluateur en Java et j'ai besoin de savoir s'il l'utilisateur connecté est coordinateur. Je dois faire ce test en Java or je ne sais pas quelle classe utiliser.

Merci de vos réponses !!!!!!!!
8 Replies
jayjayecl
Active Member II

Re: Récupérer le rôle de l'utilisateur connecté

Utilise le bean authorityService
goktan
Member II

Re: Récupérer le rôle de l'utilisateur connecté

Merci beaucoup de ta réponse, comment on l'utilise ??
jayjayecl
Active Member II

Re: Récupérer le rôle de l'utilisateur connecté

désolé, je me suis trompé :
permissionService.findNodesByAssignedPermissionForCurrentUser(PermissionService.CONTRIBUTOR, allow, includeContainingAuthorities, includeContainingPermissions)

tu trouveras le sens des paramètres sur la javadoc, mais ils sont faciles a deviner.

Cette methode te renvoie un Set<NodeRef>, tu n'as plus qu'à vérifier si l'espace en question se trouve dans ce Set<NodeRef>
rivarola
Active Member

Re: Récupérer le rôle de l'utilisateur connecté

Je ne suis pas sûr d'avoir compris exactement ce que veux faire goktan mais s'il s'agit juste de vérifier si un utilisateur est coordinateur sur un noeud (l'espace courant par exemple), je préfère utiliser :

permissionService.hasPermission(nodeRef, "Coordinator");
goktan
Member II

Re: Récupérer le rôle de l'utilisateur connecté

merci de vos réponses précieuses !!

o fait rivarola, ta ligne de code retourne koi o just, c un booléan ? est-ce ke je pe l'utiliser dans un "if" ?
goktan
Member II

Re: Récupérer le rôle de l'utilisateur connecté

Au fait voici mon évaluateur, peut-être que cela vous aidera :


public boolean evaluate(Node node) {
      Path path = node.getNodePath();
      
      boolean afficher = false;

               String parent=path.get(path.size()-1).toString();  //on récupère l'espace courant
      
              // tester si l'utilisateur connecté est coordinateur, si le test est réussi on met afficher à true ;
      
      return afficher;
}
jayjayecl
Active Member II

Re: Récupérer le rôle de l'utilisateur connecté

Je ne suis pas sûr d'avoir compris exactement ce que veux faire goktan mais s'il s'agit juste de vérifier si un utilisateur est coordinateur sur un noeud (l'espace courant par exemple), je préfère utiliser :

permissionService.hasPermission(nodeRef, "Coordinator");


C'est vrai que c'est nettement mieux !
rivarola
Active Member

Re: Récupérer le rôle de l'utilisateur connecté

Dans ton cas c'est encore plus simple : il y a une méthode hasPermission directement sur le Node.
Prend exemple sur ce qu'ont fait les développeurs d'Alfresco dans leurs propres évaluateurs :
public class CheckinDocEvaluator extends BaseActionEvaluator
{
   private static final long serialVersionUID = 5398249535631219663L;

   /**
    * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)
    */
   public boolean evaluate(Node node)
   {
      return (node.hasAspect(ContentModel.ASPECT_WORKING_COPY) &&
              node.getProperties().get(ContentModel.PROP_WORKING_COPY_MODE) == null &&
              node.hasPermission(PermissionService.CHECK_IN));
   }
}