Modificación de password de administrador

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

Modificación de password de administrador

Hola, estoy añadiendo contenido en el gestor documental desde Java utilizando la clase que indico más abajo

public class AddContentHelper {
   
   

   public static void execute(byte[] doc, String extension, String filename, String type, String uuid) throws Exception {
      
       // Start the session
       AuthenticationUtils.startSession("admin", "admin");
      
      // Creamos la referencia del nodo padre, donde se añadirá el contenido
      // En este caso el nodo padre es company_home
      
       FacesContext context = FacesContext.getCurrentInstance();
       String homeSpaceUUID = Application.getCurrentUser(context).getHomeSpaceId();
      
      Store storeRef = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
      ParentReference companyHomeParent = new ParentReference(storeRef, (uuid!=null)? uuid : homeSpaceUUID,
            null, Constants.ASSOC_CONTAINS, null);

      
      
      Calendar calendario = Calendar.getInstance();
      
      String timecad="";
      timecad+=String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
      timecad+=String.valueOf(calendario.get(Calendar.MINUTE));
      timecad+=String.valueOf(calendario.get(Calendar.SECOND));
      
      
      // Asignamos un nombre para el nodo que vamos a crea en company_home
      String name = "Memorias (" + System.currentTimeMillis()
            + ")";
      name= filename+"_"+timecad;
      companyHomeParent.setChildName("cm:" + name);

      // Comienza la construcción de nodo

      NamedValue[] contentProps = new NamedValue[1];
      contentProps[0] = Utils.createNamedValue(Constants.PROP_NAME, name+extension);
      CMLCreate create = new CMLCreate("1", companyHomeParent, null, null,
            null, Constants.TYPE_CONTENT, contentProps);

      // Añadimos aspectos al nodo

      NamedValue[] titledProps = new NamedValue[2];
      titledProps[0] = Utils.createNamedValue(Constants.PROP_TITLE, name+extension);
      titledProps[1] = Utils.createNamedValue(Constants.PROP_DESCRIPTION,
            name+extension);
      CMLAddAspect addAspect = new CMLAddAspect(Constants.ASPECT_TITLED,
            titledProps, null, "1");

      // Contruimos CML Block, con el nodo y sus aspectos

      CML cml = new CML();
      cml.setCreate(new CMLCreate[] { create });
      cml.setAddAspect(new CMLAddAspect[] { addAspect });

      // Creamos y recuperamos el contenido vía Repository Web Service

      UpdateResult[] result = WebServiceFactory.getRepositoryService()
            .update(cml);
      Reference content = result[0].getDestination();

      // 
      // Escribimos el contenido
      // 

      ContentServiceSoapBindingStub contentService = WebServiceFactory
            .getContentService();
      ContentFormat contentFormat = new ContentFormat(type, "UTF-8");
      contentService.write(content, Constants.PROP_CONTENT, doc,
            contentFormat);

   }}

El problema que me surje es que de acuerdo a los requisitos de la aplicación que estoy realizando el usuario admin tiene que tener libertad para modifcar su password, y eso me plantea un problema cuando trato de insertar contenido.

Ahora mismo tengo metido "a fuego" en el código la password genérica del admin

AuthenticationUtils.startSession("admin", "admin");

Lo que necesitaría es como obtener la password de ese usuario de forma dinámica (y sin encriptar) para que este método me funcione siempre con independencia de la contraseña con la que se haya autenticado el usuario admin…

¿Alguna idea?, ¿alguien sabe como acceder a esa información o en su defecto cómo poder abordar este problema?

Muchas gracias por anticipado
3 Replies
cesarista
Customer

Re: Modificación de password de administrador

Hola kylian:

En este otro hilo, me pegué un poco con los passwords de alfresco en la base de datos, con una problematica similar a la tuya. Los passwords en alfresco se guardan en MD4 (si, cuatro) para que sean compatibles con CIFS y no están en la típica tabla de usuarios.

http://forums.alfresco.com/es/viewtopic.php?f=10&t=2264

Un saludo y espero que te sirva.

–C.
kylian
Member II

Re: Modificación de password de administrador

Hola kylian:

En este otro hilo, me pegué un poco con los passwords de alfresco en la base de datos, con una problematica similar a la tuya. Los passwords en alfresco se guardan en MD4 (si, cuatro) para que sean compatibles con CIFS y no están en la típica tabla de usuarios.

http://forums.alfresco.com/es/viewtopic.php?f=10&t=2264

Un saludo y espero que te sirva.

–C.

Muchas gracias, voy a echarle un ojo, a ver si me sirve
fegor
Senior Member

Re: Modificación de password de administrador

De todas formas ¿como vas a recuperar un password desde Alfresco?, deberías conectarte con privilegios de administración y ni aún así; no es muy recomendable. Es preferible que tu aplicación use un fichero config.properties con una propiedad "password" por ejemplo que contenga dicha contraseña y mejor si es encriptada.

Un saludo.