Artículo
Muhammad Waseem · Dic 1, 2021 Lectura de 3 min

Cómo crear usuarios, conceder privilegios, habilitar/deshabilitar y autentificar/invalidar aplicaciones web mediante programación

En este artículo explicaré cómo, mediante programación, creé el usuario, concedí privilegios, habilité/deshabilité y autentifiqué/invalidé una aplicación web en mi aplicación Data_APP_Security (https://openexchange.intersystems.com/package/Data_APP_Security)

 

Empecemos por la autentificación

La autenticación verifica la identidad de cualquier usuario o entidad que intente conectarse a InterSystems IRIS®. Como se dice a menudo, la autentificación es la forma de demostrar que eres quien dices ser.

Hay varias formas de autentificar a un usuario; cada uno se conoce como un mecanismo de autenticación. InterSystems IRIS admite varios mecanismos de autenticación:

  • Kerberos — El protocolo Kerberos fue diseñado para proporcionar autentificación segura a los servicios a través de una red no segura. Kerberos usa tickets para autentificar a un usuario y evita el intercambio de contraseñas en la red.
  • Basado en el sistema operativo— La autenticación basada en el SO utiliza la identidad del sistema operativo de cada usuario para identificar a ese usuario en InterSystems IRIS.
  • Autentificación de instancia — Con la autenticación de instancia, InterSystems IRIS solicita al usuario una contraseña y compara un hash de la contraseña proporcionada con un valor que ha almacenado.
  • Protocolo Ligero de Acceso a Directorios (LDAP) — Con el Protocolo Ligero de Acceso a Directorios, InterSystems IRIS autentifica al usuario basándose en la información de un repositorio central, conocido como servidor LDAP.
  • Autenticación delegada— La autenticación delegada proporciona un medio para crear mecanismos de autenticación personalizados. El desarrollador de la aplicación controla por completo el contenido del código de autentificación delegado.

Estoy usando Autentificación de instancia, para la creación de usuarios, podemos usar el siguiente comando de ObjectScript  :

  &sql(CREATE USER TestUser IDENTIFY BY demo)

Creamos TestUser con contraseña de demostración


Autorización

Una vez que se realiza la autenticación, debemos crear roles y otorgar privilegios a los roles y luego vincular los roles con los usuarios (Autorización). Esto lo haremos en tres pasos.

Paso 1: Crear un rol usando el siguiente comando de ObjectScript. Estamos creando un rol de lectura y escritura

&sql(CREATE ROLE ReadWrite)


Paso 2: Conceder privilegios SELECT, UPDATE, INSERT en la tabla al rol. Estamos asignando privilegios de la tabla scw.Patient al rol ReadWrite

&sql(GRANT SELECT,UPDATE,INSERT ON scw.Patient TO ReadWrite)


Paso 3: Conceder rol al usuario. Estamos asignando el rol de lectura y escritura al usuario TestUser

&sql(GRANT ReadWrite To TestUser)

Habilitar/deshabilitar la aplicación web

Podemos habilitar o deshabilitar la aplicación web usando el siguiente código de ObjectScript

New $Namespace
Set $Namespace = "%SYS"
Set App = ##class(Security.Applications).%OpenId("/terminal")
Set App.Enabled=0
Do App.%Save()

aquí "/terminal" es el nombre de nuestra aplicación. La aplicación se puede deshabilitar configurando "App.Enabled" en 0 y habilitarla configurando el valor en 1


Autentificar/invalidar la aplicación web

Podemos configurar la autentificación mediante el siguiente código de ObjectScript

New $Namespace
Set $Namespace = "%SYS"
Set App = ##class(Security.Applications).%OpenId("/terminal")
Set App.AutheEnabled=0
Do App.%Save()

aquí "/terminal" es el nombre de nuestra aplicación. La autentificación se puede establecer mediante la propiedad "App.AutheEnabled". Se pueden configurar los siguientes valores numéricos

property AutheEnabled as Security.Datatype.Authentication [ InitialExpression = 64 ];

Authentication and Session mechanisms enabled (CSP Only).
Bit 2 = AutheK5API
Bit 5 - AutheCache
Bit 6 = AutheUnauthenticated
Bit 11 = AutheLDAP
Bit 13 = AutheDelegated
Bit 14 = LoginToken
Bit 20 = TwoFactorSMS
Bit 21 = TwoFactorPW

Gracias

0
0 63
Debate (0)1
Inicie sesión o regístrese para continuar