diff --git a/pom.xml b/pom.xml index fae1998d5..fd75f5483 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.17.0 + 1.17.1 diff --git a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java index d6e0e9562..edb1aeda3 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java @@ -25,6 +25,7 @@ import com.rjconsultores.ventaboletos.entidad.Perfil; import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil; import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.LogAuditoriaService; import com.rjconsultores.ventaboletos.service.UsuarioService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; @@ -32,6 +33,7 @@ import com.rjconsultores.ventaboletos.utilerias.CustomEnum; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.seguridad.ContrasenaUtileria; import com.rjconsultores.ventaboletos.vo.embarcada.UsuarioEmbarcadaVO; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; /** * @@ -98,8 +100,17 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { if (senha != null) { // validaciOn complejidad contrasena if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CONTRASENA_VALIDA_COMPLEJIDAD.getDescricao())) { - ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); - contrasenaUtileria.validarContrasenaCompleja(senha); + + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + boolean CONSTANTE_CANT_MIN_CARACTER_OITO = Boolean.parseBoolean(constanteService.buscarPorNomeConstante("CONSTANTE_CANT_MIN_CARACTER_OITO").getValorconstante()); + + if(CONSTANTE_CANT_MIN_CARACTER_OITO) { + ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(8); + contrasenaUtileria.validarContrasenaCompleja(senha); + } else { + ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); + contrasenaUtileria.validarContrasenaCompleja(senha); + } } // encriptacion contrasena @@ -147,7 +158,7 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { @Transactional(rollbackFor = BusinessException.class) @Override public Usuario cambiarContrasena(Usuario entidad, String senha) throws BusinessException { - + // validaciOn duplicado List lsUsuario = this.buscarPelaCveUsuario(entidad.getClaveUsuario()); boolean podeSalvar = false; @@ -169,8 +180,17 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { if (senha != null) { // validaciOn complejidad contrasena if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CONTRASENA_VALIDA_COMPLEJIDAD.getDescricao())) { - ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); - contrasenaUtileria.validarContrasenaCompleja(senha); + + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + boolean CONSTANTE_CANT_MIN_CARACTER_OITO = Boolean.parseBoolean(constanteService.buscarPorNomeConstante("CONSTANTE_CANT_MIN_CARACTER_OITO").getValorconstante()); + + if(CONSTANTE_CANT_MIN_CARACTER_OITO) { + ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(8); + contrasenaUtileria.validarContrasenaCompleja(senha); + } else { + ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); + contrasenaUtileria.validarContrasenaCompleja(senha); + } } // encriptacion contrasena diff --git a/src/com/rjconsultores/ventaboletos/utilerias/seguridad/ContrasenaUtileria.java b/src/com/rjconsultores/ventaboletos/utilerias/seguridad/ContrasenaUtileria.java index e81d7b1d5..39b834425 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/seguridad/ContrasenaUtileria.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/seguridad/ContrasenaUtileria.java @@ -20,6 +20,11 @@ public class ContrasenaUtileria { this.cargarPattern(); } + public ContrasenaUtileria(int cantMinCaracteres){ + CANT_MIN_CARACTER = cantMinCaracteres; + this.cargarPattern(); + } + private void cargarPattern(){ patternHayNumero = Pattern.compile(String.format(".*[0-9]{%s,}+.*",CANT_MIN_NUMERO)); patternHayLetra = Pattern.compile(String.format(".*[a-zA-Z]{%s,}+.*",CANT_MIN_LETRA));