Autenticación AS400 usando Spring Security

En algunos Bancos que aun siguen le gusta que sus aplicaciones se autentiquen  contra su  AS400 para así controlar los accesos a los recursos directamente desde este, hoy los quiero mostrar como crear una aplicación Java usando Spring con Spring Security para hacer este simple Login.

Herramientas Utilizadas en el Ejemplo:

  1. Maven
  2. Tomcat 8
  3. Java 8
  4. Netbeans 8

Ahora si comenzamos, voy a explicar los archivos más importantes, si quieres el código completo lo puedes descargar desde mi Github

El archivo pom.xml

En este archivo coloque todas las dependencias necesarias para usar Spring y Spring Security solo quiero destacar que para usar el api de AS400 coloque la dependencia de esta forma ya que no existe en el repositorio de Maven:

Archivo web.xml

Aquí he configurado el Servlet de Spring y Filtro de Spring Security

Archivo spring-security.xml

En la configuración se SpringSecurity cree el authenticationProvider el cual usaremos para validar la sesión desde el AS400

Archivo login.jsp

Vamos a crear nuestro archivo login.jsp el mismo la vamos a colocar dentro de WEB-INF/pages/auth/login.jsp, para los que no tienen experiencia con Spring Security

Clase AuthController.java

Este es el controlado que va a presentar la pantalla de inicio de sesión:

Clase CustomAuthenticationProvider.java

En esta clase vamos a iniciar la sesión el AS400, dentro de ella podemos encotrar tres metodos:

authenticate:

isPasswordCorrect: Aquí vamos a iniciar la sesión contra el AS400 con el método validateSignon del jt400.

translateSecurityExceptionAndRethrow: Como el método validateSignon no retorna nada si es correcto, el lanza una excepción de error de autenticación el cual vamos a manjar con este otro método:

 

Ahora vamos a correr el proyecto desde Netbeans usando Tomcat:

Captura de pantalla de 2015-09-25 11:52:30

Y ahora entramos al inicio de sesion:

Captura de pantalla de 2015-09-25 11:52:24

Descargar el código desde Github también puedes seguirme para que recibas información de todas las soluciones Java con AS400 que voy a seguir montando.

Comments are closed.