Saltar a contenido

Escribir Rules de Autenticación Personalizadas

Es posible escribir reglas de autenticación personalizadas utilizando el editor de Rules de Clarive. Para crear su propia regla de autenticación personalizada, haga lo siguiente:

Crear una Rule Event para un Intento de Inicio de Sesión

Desde el editor de Rules, cree una nueva regla de tipo event asociada al evento User Login Attempt (event.auth.attempt).

Escriba las especificaciones de su regla

Realice sus propias rutinas de autenticación dentro de la regla, por ejemplo, llamando a un webservice o buscando un usuario a través de un comando.

Las variables disponibles en el stash para usted son:

  • Username - El ID de usuario, debe coincidir con el registro en la base de datos de usuarios en Clarive.
  • Login - El texto completo ingresado en el cuadro de inicio de sesión.
  • Password - La contraseña ingresada por el usuario Precaución, tenga cuidado dónde escribe esta información.
  • Realm - El realm de autenticación de inicio de sesión que el usuario ha ingresado, podría estar vacío (predeterminado) o podría ser algo como 'local' para usuarios locales, etc.

Permitir que el usuario se autentique

Arrastre y suelte una tarea Authorize User Login desde la paleta a su regla para autorizar al usuario.

Denegar la autenticación del usuario

Arrastre y suelte una tarea Deny User Login desde la paleta a su regla para denegar el inicio de sesión del usuario.

Considere también usar la tarea de paleta Login Error Message para publicar un mensaje de error al usuario para que sepa por qué se denegó el inicio de sesión.

Notas

Si no permite ni deniega la autenticación del usuario, Clarive seguirá sus verificaciones de autenticación normales.

Esta regla ahora se invoca para la autenticación auth_key (API).

Ejemplo

Este fragmento de regla es un ejemplo de la estructura básica para validar un usuario en una regla.

Use la opción de clic derecho Import here en el editor de reglas para importar este fragmento.

[{
"attributes": {
    "palette": false,
    "icon": "/static/images/icons/statement-if.svg",
    "disabled": false,
    "on_drop_js": null,
    "key": "statement.if.var",
    "text": "IF username == root",
    "expanded": true,
    "run_sub": true,
    "leaf": false,
    "name": "IF var THEN",
    "active": 1,
    "holds_children": true,
    "data": {
        "variable": "username",
        "value": "root"
    },
    "nested": "0",
    "on_drop": ""
},
"children": [{
    "attributes": {
        "icon": "/static/images/icons/user-delete.svg",
        "palette": false,
        "disabled": false,
        "active": 1,
        "name": "Deny User Login",
        "data": {},
        "key": "service.auth.deny",
        "text": "Deny User Login",
        "expanded": false,
        "leaf": true
    },
    "children": []
}, {
    "attributes": {
        "icon": "/static/images/icons/user-delete.svg",
        "palette": false,
        "disabled": false,
        "active": 1,
        "name": "Login Error Message",
        "data": {
            "msg": "User no way",
            "args": []
        },
        "key": "service.auth.message",
        "text": "Login Error Message",
        "expanded": false,
        "leaf": true
    },
    "children": []
}]
}, {
"attributes": {
    "palette": false,
    "icon": "/static/images/icons/statement-if.svg",
    "disabled": false,
    "on_drop_js": null,
    "key": "statement.if.else",
    "text": "ELSE",
    "expanded": true,
    "run_sub": true,
    "leaf": false,
    "name": "ELSE",
    "active": 1,
    "holds_children": true,
    "data": {},
    "nested": "1",
    "on_drop": ""
},
"children": [{
    "attributes": {
        "icon": "/static/images/icons/user-add.svg",
        "palette": false,
        "disabled": false,
        "active": 1,
        "name": "Authorize User Login",
        "data": {},
        "key": "service.auth.ok",
        "text": "Authorize User Login",
        "expanded": false,
        "leaf": true
    },
    "children": []
}]
}]