Cómo añadir verificaciones personalizadas al proceso de autenticación

Para añadir verificaciones personalizadas, debe haberse implementado la interfaz curam.util.security.CustomAuthenticator. Esta interfaz contiene un método: authenticateUser(). El método authenticateUser() se invoca tanto para la autenticación predeterminada como para la autenticación sólo de identidad. Se espera que los resultados de este método sean una entrada de la tabla de códigos curam.util.codetable.SECURITYSTATUS. Si se produce una autenticación satisfactoria, el resultado debe ser curam.util.codetable.SECURITYSTATUS.LOGIN

En caso de error de autenticación el sistema puede devolver cualquier cosa, incluso nulo. Se recomienda, no obstante, usar otra código de la tabla de códigos curam.util.codetable.SECURITYSTATUS. Esta tabla de códigos se puede ampliar para que incluya códigos personalizados tal como se explica en el capítulo sobre Tablas de códigos en la publicación Cúram Server Developer's Guide (Guía del desarrollador del servidor de Cúram).

Después de invocar las verificaciones personalizadas, el proceso de autenticación actualiza los campos relevantes en la tabla de base de datos de usuarios. Por ejemplo, si el resultado de las verificaciones personalizadas no es SECURITYSTATUS.LOGIN, el número de errores de inicio de sesión aumenta en 1 y si se alcanza el umbral de intrusión, se inhabilita la cuenta. De forma alternativa, si el resultado es SECURITYSTATUS.LOGIN, los errores de inicio de sesión se restablecen en 0 y se actualiza el último campo de inicio de sesión satisfactorio.

Nota: Cuando se ha habilitado la autenticación de sólo identidad, los campos de la tabla de base de datos de usuarios no se actualizan, independientemente del resultado de la verificación personalizada.