Closed anadal-fundaciobit closed 3 years ago
(1) Per DocumentCustodyPlugin, ja tots els mètodes inclouen un paràmetre addicional "Map<String, Object> parameters". Només hauríem d'aplicar les substitucions en camps com URLs, Usernames i Passwords. Com a ultim pas, en la generació dels paràmetres (mètode getAdditionalParametersForDocumentCustody() de CustodiaInfoLogicaEJB) hauria d'incloure un paràmetre "systemproperties" asociat al l'objecte retornat per System.getProperties().
(2) Per la resta de Plugins, s'hauria de fer un refactoring a tots ells per a que els mètodes incloguessin un paràmetre "Map<String, Object> parameters" i després usar-ho en les substitucions en camps com URLs, Usernames i Passwords. Després dins PortaFIB afegir a parameters el System.getProperties().
(3) Finalment, els Administradors de PortaFIB, han d'anar substituint URLs, Usernames i Passwords de les propietats dels Plugins per trossos de codi avaluables (${systemproperties['es.caib.portafib.plugins.clau_plugin_custodia_arxiu_caib_password']}) i dins de portafib-properties-service.xml afegir la propietat: "es.caib.portafib.plugins.clau_plugin_custodia_arxiu_caib_password=unacontrasenya"
La prioritat de Plugins seria la següent:
Altres que o no tenen referències a contrasenyes o no són molt importants:
COM A: Sistemes VOLDRIA: que les urls, usernames i contrasenyes es configurin dins fitxers de propietats PER: Seguretat
Una solució seria emprar el ExpressionLanguage en la configuració d'aquests tipus de camps i forçar als Plugins que: (1) Per aquests camps (urls, usernames i contrasenyes), el valor obtingut de les propietats de configuració es passaria pel TemplateEngine (Freemarker) (2) Es passaria com a paràmetres el System.getProperties() com a paràmetre dins d'una variable anomenada "SP"
EXEMPLE: (A) FICAR en el fitxer portafib-service-properties.xml la següent propietat:
(B) En les propietats de configuració del "Plugin de Firma en Servidor emprant @firma federat" modificar la següent propietat:
(C) En el PLugin a l'hora de capturar el valor dels camps urls, usernames o contrasenyes es faria de la següent manera:
Emprant aquest codi, el valor de la variable contrasenyaFinal seria de "1234"