Código de autentificación personalizado En XavaPro 7.0 puedes definir tu propia lógica de autentificación de usuarios. Para ello has de crear una clase que implemente la interfaz ISignInHelperProvider. El caso típico sería refinar la manera estándar en que XavaPro autentifica a los usuarios, para eso extiende ProSignInHelperProvider, de esta manera: package com.miempresa.miaplicacion.impl;
import javax.servlet.*;
import org.openxava.util.*;
import com.openxava.naviox.impl.*;
public class MiPropioSignInHelperProvider extends ProSignInHelperProvider {
@Override
public boolean isAuthorized(
ServletRequest request, String userName,
String password, Messages errors, String unauthorizedMessage)
{
// Esta es tu lógica personalizada de autentificación
if (userName.equals("admin") && password.equals("masterkey")) return true;
// Aquí delegamos en la lógica de autentificación por defecto de XavaPro
return super.isAuthorized(
request, userName, password, errors, unauthorizedMessage);
}
}
En este caso la lógica es simple, si el usuario teclea "masterkey" como clave para el usuario "admin" el usuario accede a la aplicación como "admin", en caso contrario se aplica la lógica de autentificación por defecto de XavaPro. Sin embargo, aquí puedes escribir cualquier lógica que quieras, incluyendo llamadas a servicios web, leer de tu propia base de datos de usuarios, consultar tu directorio LDAP en la manera que tu quieras, etc. Para que tu aplicación use la clase de arriba para autentificación has de añadir la siguiente entrada en el archivo naviox.properties de tu proyecto: signInHelperProviderClass=com.miempresa.miaplicacion.impl.MiPropioSignInHelperProvider
|