Skip to content

Backend, desarrollado con Spring Boot Framework, del Proyecto Final para la Academia Java brindada por Softtek, realizado en equipo.

Notifications You must be signed in to change notification settings

syucosky/Proyecto-Final-Back-end-Softtek

 
 

Repository files navigation

  1. Agregué al POM la dependencia de Spring Security:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
  1. Creación de la entidad User en entity/User.java. Esta entidad es la que se va a utilizar para el login de los usuarios. Almacena el nombre, apellido, password, email y rol (enum Role)

Cada vez que Spring Security inicia y configura la aplicación, usa un objeto UserDetails que es una interface que contiene métodos que Spring Security usa para obtener información de los usuarios que se van a autenticar. Por lo tanto, la clase User debe implementar la interface UserDetails.

Luego se creó el dao de User en dao/IUserDao.java que extiende de JpaRepository<User, Integer>. Este dao se va a utilizar para obtener los datos del usuario que se va a autenticar.

  1. El primer filtro que se ejecuta es el filtro de autenticación. Este filtro se construye en config/JwtAuthenticationFilter y extiende de OncePerRequestFilter. Este filtro se ejecuta una vez por cada request. En este filtro se obtiene el token del header y se valida que sea correcto. Si es correcto, se obtiene el usuario del token y se lo agrega al contexto de seguridad de Spring Security.

El payload del token va a lucir de la siguiente forma:

{
  "sub": "[email protected]",
  "authorities": [
    {
      "authority": "ADMIN | USER"
    }
  ],
  "iat": 1620233281,
  "exp": 1620236881 
}

About

Backend, desarrollado con Spring Boot Framework, del Proyecto Final para la Academia Java brindada por Softtek, realizado en equipo.

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.0%
  • Dockerfile 1.0%