dct.dstr.api
v3.4.3
Published
El proyecto de distribuidores contiene todos los servicios que se utilizan en el proyecto front para el correcto funcionamiento del sistema. En este proyecto se debera ver todo lo relacionado con la logica del negocio y con la funcionalidad del mismo.
Downloads
2
Readme
Proyecto distribuidores
El proyecto de distribuidores contiene todos los servicios que se utilizan en el proyecto front para el correcto funcionamiento del sistema. En este proyecto se debera ver todo lo relacionado con la logica del negocio y con la funcionalidad del mismo.
Librerías Externas
Para el proyecto fue necesario el uso de las siguientes librerías:
security_library-1.0.0.jar: Se usa para crear seguridad a los servicios por medio de un token que se obtiene mediante un login de acceso.
Configuración de la librería security_library-1.0.0.jar
Se debe agregar al archivo pom.xml la dependencia de la librería, se puede agregar usando un systema path y se buscaraía la librería en la carpeta lib del proyecto, o se puede agregar sin el system path pero debemos considerar que la librería previamente fue instalada en las librerías de maven.
<dependency>
<groupId>com.danone.dct.security</groupId>
<artifactId>security_library</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/security_library-1.0.0.jar</systemPath>
</dependency>
Además es necesario poder incluir en el proyecto las siguientes clases:
CredentialProviderImpl: Obtiene el token que manda el front y lo manda a las diferentes funciones.
EncryptDecrypt: Permite desencriptar el token que se recibe del lado front.
UserDetailsServiceImpl : Contiene la implementación y el uso del metodo loadUserByUsername para la validación de usuario.
UserException: Clase que captura los errores generados.
application.yml: Contiene las variables de configuración para la librería de seguridad, en este archivo se indica las clases base, el tipo de seguridad y la configuración del token, este archivo debe de ubicarse en la carpeta resources del proyecto.
Variables configurables en el proyecto
En el archivo application.yml se encuentran las variables de entorno utilizadas en el proyecto.
security.httpBasic: false
Variable que contiene el tipo de autenticación a manejar
security.credentials.classEntity: com.danone.api.security.entity.RequestCredentials
Variable que contiene la entidad para el manejo de credenciales
security.token.id: DanoneJWT
Variable que contiene el id para el token generado
security.token.payload.claim: DanoneTokenPayload
Variable que contiene el claim token payload
security.token.payload.class: com.danone.api.security.entity.DanoneTokenPayloadResponseDto
Variable que contiene la clase de respuesta para el manejo del claims del token
security.token.header: Authorization
Variable que contiene el encabezado de autorización
security.token.prefix: Basic
Variable que contiene el tipo de autenticación
security.token.expiration.access: 1800000
Variable que indica el tiempo en el que expira el accessToken
security.token.expiration.refresh: 2400000
Variable que indica el tiempo en el que expira el refreshToken
security.obfuscation.phrase: dAN0n3IR0nM4n4p1
Variable que contiene la frase para poder desencriptar el token recibido
spring.datasource.driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
Permite la configuracion del driver que se utilizará de acuerdo al gestor de base de datos utilizado
spring.datasource.url: jdbc:sqlserver://sql-dev-fqr-001.database.windows.net:1433;databaseName=sqldb-backend-dev-wms-001
Permite la configuracion de la conexion hacia la base de datos, indicando el host, puerto, nombre de la base,
spring.datasource.username: usuarioBD
Se utiliza para asignar el usuario con el que se genera la conexion hacia la base de datos
spring.datasource.password: passBD
Se utiliza para asignar la contraseña del usuario con el que se genera la conexion hacia la base de datos
spring.datasource.database-platform: org.hibernate.dialect.SQLServer2012Dialect
Se utiliza para designar el dialecto de la base de datos en la conexion interna del hibernate del jdbc
spring.datasource.liquibase.changeLog: classpath:db/changelog/db.changelog-master.yaml
Se utiliza para indicar los archivos de ejecución para la creación de la BD por medio de liquibase
application.file-share.connection-string: DefaultEndpointsProtocol=https;AccountName=stdevwms001;AccountKey=52rnrvLYuFuiL0UfKeKf2oOsa+7FQeCe6/5m5Ikku6dYmws+c3LvAwLZR66DrV4uwO2SV5txKHJKy7cBnkEfNg==;EndpointSuffix=core.windows.net
Se utiliza para indicar cual sera la conexion hacia Azure
application.system.pw-ad: passAd
Se utiliza para establecer una contraseña fija para el AD en la BD
application.system.count-records: 1000
Se utiliza para el número de registros a devolver
application.mail.host: smtp.gmail.com
Esta variable es utilizada para indicar el host para el servidor de correo
application.mail.port: 587
Esta variable es utilizada para indicar mediante que puerto sera la salida de correos
application.mail.user-email: [email protected]
Esta variable es utilizada para indicar la cuenta de correo que sera la remitente de las notificaciones
application.mail.pass-email: pass
Esta variable es la contraseña de la cuenta de correo que sera la remitente de las notificaciones
application.mail.protocol: smtp
Esta variable es utiliza para asignar el protocol de correo utilizado
application.mail.auth: true
Esta variable es utilizada para la autenticacion de correo por default va en true
application.mail.start-tls: true
Esta variable es utilizada para asignar que la conexion de correo se hace a tráves de tls por default va en true
application.mail.debug: true
Esta variable es utilizada para imprimir en consola si se necesita ver el debug del envio de correo en el log
application.mail.subject-mail: Valor
Esta variable sirve para el asunto del correo
application.mail.mail-template-user: Valor
Esta variable sirve para el contenido del correo al crear un usuario
application.mail.mail-template-reset: Valor
Esta variable sirve para el contenido del correo al reestablecer la contraseña del usuario
Ejecutando el proyecto
Para ejecutar el proyecto debemos correr los comandos de maven:
Limpiar el proyecto.
mvn clean
Generar la instalación del proyecto.
mvn install