Autenticación de un usuario externo

El método authenticate() es el responsable de autenticar a un usuario externo. Se invoca durante el proceso de autenticación si el usuario está identificado como un usuario externo. En el caso de usuarios externos, este método se invoca en lugar de la autenticación configurada.

Nota: Si se ha configurado un mecanismo de autenticación alternativo, por ejemplo LDAP, los usuarios externos deben poder autenticarse ante este mecanismo.
/**
   * La implementación de este método debería validar el identificador y la
   * contraseña y devolver el resultado de la validación. Si la información es
   * válida, debería devolverse el código de tabla de códigos SecurityStatus.LOGIN.
   *
   * @param identifier El identificador del usuario externo.
   * @param password La contraseña como un vector de caracteres.
   * @param userType El tipo de usuario externo.
   *
   * @return El estado de la autenticación en forma de un código de tabla de códigos.
   *
   * @throws AppException Firma de excepción genérica.
   * @throws InformationalException Firma de excepción genérica.
   */

  public abstract String authenticate(String identifier,
    char[] password, String userType)
    throws AppException, InformationalException;

Los parámetros de entrada del método incluyen un identificador, un resumen (digest) de la contraseña en forma de vector de caracteres y el tipo de usuario externo que debe autenticarse.

El parámetro userType está previsto para soportar varios tipos de usuarios externos que requieran distintos mecanismos de autenticación. El usuario de este parámetro depende de la implementación personalizada.

El resultado esperado de este método será una entrada de la tabla de códigos curam.util.codetable.SECURITYSTATUS. Si el resultado de la autenticación es satisfactorio, el resultado debe se:

curam.util.codetable.SECURITYSTATUS.LOGIN

Para los errores de autenticación, esta tabla de códigos contiene numerosas entradas que incluyen BADUSER, BADPWD y PWDEXPIRED. Esta tabla de códigos se puede ampliar para que incluya códigos personalizados tal como se explica en la Guía del desarrollador de Cúram Server.

El resultado de la autenticación devuelto por este método se registra automáticamente en la tabla de base de datos AuthenticationLog . Para obtener más información sobre esta tabla, consulte la publicación Cúram Server Developers Guide (Guía de los desarrolladores del servidor de Cúram).

La clase abstracta PublicAccessUser también define los siguientes métodos abstractos que debe implementar cualquier subclase concreta:

Consulte la correspondiente JavaDoc de la clase PublicAccessUser para obtener detalles adicionales sobre los métodos anteriores.