Introducción a Spring Security y sus características

Spring Security es un marco que permite a un programador usar componentes JEE para establecer limitaciones de seguridad en las aplicaciones web basadas en el marco Spring. En pocas palabras, es una biblioteca que se puede utilizar y personalizar para satisfacer las demandas del programador. Debido a que es parte de la misma familia Spring que Spring Web MVC, funciona bien en conjunto. Su función principal es gestionar la autenticación y la autorización tanto a nivel de solicitud web como de invocación de método. Quizás. El beneficio más significativo de este marco es que es fuerte y muy adaptable. Aunque se adhiere a las convenciones de configuración de Spring, los programadores pueden seleccionar entre las disposiciones predeterminadas y modificarlas según sus requisitos específicos. Spring Security trabaja en los siguientes cuatro conceptos básicos

  • Autenticación
  • Autorización
  • Almacenamiento de contraseñas
  • Filtros de servlet

Ventajas de Spring Security

Estas son algunas de las principales ventajas de la seguridad de Spring

  • Protección contra ataques como fijación de sesión y clickjacking.
  • Integración Spring MVC.
  • Admite la configuración de Java.
  • Portátil
  • Integración de la API de Servlet
  • Protéjase contra ataques de fuerza bruta.

Configuración de Maven para Spring Security

Para configurar spring-security-core:

Debe agregar la siguiente dependencia dentro de su archivo  pom.xml .

XML

<properties>
    <spring-security.version>5.3.4.RELEASE</spring-security.version>
    <spring.version>5.2.8.RELEASE</spring.version>
</properties>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>${spring-security.version}</version>
</dependency>

Para configurar spring-security-web:

Debe agregar la siguiente dependencia dentro de su archivo pom.xml. 

XML

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>${spring-security.version}</version>
</dependency>

Funciones de seguridad de primavera

  1. Autorización
  2. Inicio de sesión único
  3. Localización de software
  4. Acuérdate de mí
  5. LDAP (Protocolo ligero de acceso a directorios)
  6. JAAS (Servicio de autenticación y autorización de Java) LoginModule
  7. Autenticación de formulario web
  8. Autenticación de acceso implícita
  9. Autorización HTTP
  10. Autenticación de acceso básico        
     

1. Autorización

Esta funcionalidad la proporciona Spring Security y permite autorizar al usuario antes de acceder a los recursos. Permite a los desarrolladores establecer controles de acceso a los recursos.

2. Inicio de sesión único

Esta característica permite que un usuario utilice una sola cuenta para acceder a diferentes aplicaciones (nombre de usuario y contraseña).

3. Localización de software

Esta capacidad nos permite crear interfaces de usuario para aplicaciones en cualquier idioma.

4. Recuérdame

Con la ayuda de las cookies HTTP, Spring Security proporciona esta capacidad. Recuerda al usuario y evita que inicie sesión desde la misma estación de trabajo hasta que cierre la sesión.

5. LDAP (Protocolo ligero de acceso a directorios)

Es un protocolo de aplicación abierto para administrar e interactuar con servicios de información de directorio dispersos a través del Protocolo de Internet.

6. Módulo de inicio de sesión JAAS (Servicio de autenticación y autorización de Java)

Este es un módulo de autenticación conectable basado en Java. Es compatible con el procedimiento de autenticación de Spring Security.

7. Autenticación de formulario web

Los formularios web capturan y autentican las credenciales de usuario desde el navegador web durante este procedimiento. Si bien deseamos crear autenticación de formulario web, Spring Security lo admite.

8. Autenticación de acceso implícita:

Podemos hacer que el procedimiento de autenticación sea más seguro con esta funcionalidad que con la autenticación de acceso básica. Antes de entregar datos confidenciales a través de la red, solicita que el navegador verifique la identidad del usuario.

9. Autorización HTTP:

Usando rutas Apache Ant o expresiones regulares, Spring proporciona esta funcionalidad para la autorización HTTP de URL de requests web.

10. Autenticación de acceso básico:

Spring Security tiene soporte para la autenticación de acceso básico, que se utiliza para proporcionar un nombre de usuario y una contraseña al realizar requests de red.       

Características añadidas en Spring Security 5.0

1. Inicio de sesión de OAuth 2.0

Esta función permite a los usuarios conectarse a la aplicación utilizando sus cuentas actuales de GitHub o Google. La concesión de código de autorización definida en el marco de autorización de OAuth 2.0 se utiliza para implementar esta funcionalidad.

2. Soporte reactivo

Spring Security 5.0 agrega soporte para programación reactiva y tiempos de ejecución web reactivos, así como la capacidad de interactuar con Spring WebFlux.

3. Codificación de contraseña modernizada

Spring Security 5.0 presenta DelegatingPasswordEncoder, un nuevo codificador de contraseñas que es más actual y resuelve todos los problemas con el antiguo codificador NoOpPasswordEncoder.

Publicación traducida automáticamente

Artículo escrito por dikshanandre2403 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *