Spring Security

De Dos Ideas.
Saltar a: navegación, buscar

Spring Security es un framework para la autenticación y control de acceso en una aplicación Java.

Configuración rápida de Spring Security

Configurar Spring Security para un sitio web consiste en:

  1. Agregar las librerias de Spring Security al proyecto.
  2. Crear un archivo de configuración applicationContext-security.xml con las definiciones de los accesos y usuarios.
  3. Configurar el filtro de Spring Security en el archivo web.xml

1. Configurar las librerias de Spring Security

Usando Maven, incluir 3 dependencias: <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>3.1.0.RELEASE</version> </dependency>

2. Configurar applicationContext-security.xml

Crear un archivo applicationContext-security.xml en la aplicación web. El siguiente archivo tiene una definición de ejemplo agregada.

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:sec="http://www.springframework.org/schema/security"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/security
          http://www.springframework.org/schema/security/spring-security.xsd">
   <sec:http auto-config="true" use-expressions="true">
       <sec:remember-me key="contactManagerRememberMeUniqueKey"/>
       <sec:intercept-url pattern="/login/**" access="true" />
       <sec:intercept-url pattern="/**" access="isAuthenticated()" />
   </sec:http>
   
   <sec:global-method-security pre-post-annotations="enabled"/>

   <sec:authentication-manager alias="authenticationManager">
       <sec:authentication-provider>
           <sec:user-service>
               <sec:user name="admin" password="admin" authorities="admin" />
           </sec:user-service>
       </sec:authentication-provider>
   </sec:authentication-manager>

</beans>

3. Configurar el filtro de Spring Security

En el archivo web.xml configurar: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

<filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter>

<filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>


Con esta configuración puede desplegarse la aplicación y se visualizará el login default de Spring Security.

Ver también