AnsweredAssumed Answered

Login con Alfresco y LDAP + creación carpetas

Question asked by b12jose_4553 on Feb 14, 2008
Buenas a tod@s,

      he sincronizado LDAP y Alfresco de forma que si el usuario no existe en Alfresco y si en LDAP haga login en el sistema, pero necesito que ademas de loguearse cree una serie de carpetas y copiar unos contenidos a esa carpeta, se que la clase que hace eso es: PersonServiceImpl y el método que se llama a la hora de crear dicho usuario es createPerson, por lo que he intentado midificar el código para que haga lo que os comento en la linea de arriba, pero me da un: error net.sf.acegisecurity.BadCredentialsException: Bad credentials presented.

Adjunto el código por si alguien me puede ayudar…


public FileFolderService createFileFolderService(){
        System.out.println("Creando FileFolderService");
        System.out.println("Registry"+registry);
        fileFolderService = this.getServiceRegistry().getFileFolderService();
        return fileFolderService;
    }

    public NodeRef createPerson(Map<QName, Serializable> properties) throws FileExistsException
    {
       
        try {
            System.out.println("User"+AuthenticationUtil.getCurrentUserName());
            AuthenticationUtils.startSession("admin", "admin");
            AuthenticationUtil.setCurrentUser("admin");
            AuthenticationUtil.setSystemUserAsCurrentUser();
            System.out.println("User"+AuthenticationUtil.getCurrentUserName());
            System.out.println("Hemos entrado");
            String userName = DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_USERNAME));
            properties.put(ContentModel.PROP_USERNAME, userName);
            NodeRef nodo = null;
            System.out.println("Creando FFS…..");
            this.setFileFolderService(createFileFolderService());
            System.out.println("Creado!!!");
            nodo = nodeService.createNode(getPeopleContainer(), ContentModel.ASSOC_CHILDREN, ContentModel.TYPE_PERSON, ContentModel.TYPE_PERSON, properties).getChildRef();
            System.out.println("Creado el nodo2");
            NodeRef padre=null;
            try{
             padre = new NodeRef(APP+"company_home/"+CM+"config/"+CM+"usuarios");
            }catch(Exception ex){
                System.err.println("MIKI ERROR:"+ex.getMessage());
                ex.printStackTrace(System.err);
            }
            System.out.println("Padre…"+padre+" fs+"+fileFolderService);
            fileFolderService.create(padre, userName, ContentModel.TYPE_FOLDER);
            System.out.println("Se ha creado el directorio "+userName);
            NodeRef archivoACopiar = new NodeRef(APP+"company_home/"+CM+"template_evt");
            NodeRef destinoCopia = new NodeRef(APP+"company_home/"+CM+"config/"+CM+"usuarios/"+CM+userName);
                   
            fileFolderService.copy(archivoACopiar, destinoCopia, SPLIT);            System.out.println("tendremos que crear una nueva carpeta???");
            NodeRef segundoAC = new NodeRef(APP+"company_home/"+CM+"template_evt/"+CM+"conf");
            NodeRef segundoDC = new NodeRef(APP+"company_home/"+CM+"config/"+CM+"usuarios/"+CM+userName);
            fileFolderService.copy(segundoAC, segundoDC, SPLIT);
            System.out.println("copiado conf");
            NodeRef tercerAC = new NodeRef(APP+"company_home/"+CM+"template_evt/"+CM+"files");
            fileFolderService.copy(tercerAC, segundoDC, SPLIT);
            System.out.println("copiado files");
            NodeRef cuartoAC = new NodeRef(APP+"company_home/"+CM+"template_evt/"+CM+"trash");
            fileFolderService.copy(cuartoAC, segundoDC, SPLIT);
            System.out.println("copiado trash");
            return nodo;
        }catch (Exception ex) {
            Logger.getLogger(PersonServiceImplFidesol.class.getName()).log(Level.SEVERE, null, ex);
           
        }
        return null;
    }

Gracias y saludos

Outcomes