Mostrando las entradas con la etiqueta wildfly. Mostrar todas las entradas
Mostrando las entradas con la etiqueta wildfly. Mostrar todas las entradas

martes, octubre 25, 2016

Gráfica Base de EDN con wildfly 9

La última implementación realizada de la gráfica base de EDN ha sido en woldfly 9, el cual soporta la versión 2.2.2 y no es necesario actualizar ningún modulo, las versiones utilizadas son:
JSF 2.2.2 (nativo o puro)
Bootstrap 3.3.0
wildfly-9.0.2.Final

Se tulizaron algunos tag libs extras para dar soporte a HTML 5:
<html lang="es" xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:corejsf="http://corejsf.com"
xmlns:jsf="http://xmlns.jcp.org/jsf"
xmlns:ph="http://xmlns.jcp.org/jsf/passthrough">


Encriptar password de datasource en wildfly 9

Tengo la necesidad de encriptar el password de mi data source para wildfly-9.0.2.Final.
El post que mas me ayudo fue uno de stackoverflow pero no pude echar a andar la línea de comando:


java -cp $JBOSS_HOME/modules/org/picketbox/main/picketbox-4.0.6..jar:$JBOSS_HOME/modules/org/jboss/logging/main/jboss-logging-3.1.0..jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule password


Así que hice una clase:

package com.tattva;

import org.picketbox.datasource.security.SecureIdentityLoginModule;

public class Password {
public static void main(String[] args) {
String[] data = new String[] { "palabra_Secreta" };
try {
SecureIdentityLoginModule.main(data);
SecureIdentityLoginModule clazz = new SecureIdentityLoginModule();
clazz.main(args);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Se tiene que agregar al classpath del proyecto la clase indicada en la línea de comando en mi caso:
%WILDFLY_9_HOME%/modules/system/layers/base/org/picketbox/main/picketbox-4.9.2.Final

Lo ejecuto dentro de eclipse como clase Java para obtener el siguiente:
Encoded password: -46df1f56015bcb73ad62074ab533e115

Posteriormente di de alta en el standalone.xml el dominio de seguridad:

<security-domain name="EncryptedPasswordEval" >
                    <authentication>
                        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                            <module-option name="username" value="usuarioBD-desa"/>
                            <module-option name="password" value="-46df1f56015bcb73ad62074ab533e115"/>
                        </login-module>
</authentication>
                </security-domain>

Y dentro del datasource:
<datasource jta="true" jndi-name="java:jboss/proyectoDS" pool-name="evaluacionesDS" enabled="true" use-java-context="true" use-ccm="false">
<connection-url>jdbc:postgresql://127.0.0.1:5432/desarrollo</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>20</max-pool-size>
</pool>
<security>
<security-domain>EncryptedPasswordEval</security-domain>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<background-validation-millis>1</background-validation-millis>
</validation>
<statement>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>