Suplantar a otro usuario

Use la suplantación para ejecutar la lógica de negocios en nombre de otro usuario de Microsoft Dataverse para proporcionar una característica o servicio deseado con el rol que le corresponde y la seguridad basada en objetos de dicho usuario suplantado.

Esto es necesario porque varios clientes y servicios de los servicios web de Dataverse pueden llamar en nombre de un usuario de Dataverse.

La suplantación implica dos diferentes cuentas de usuario:

Suplantador Usuario suplantado
Cuenta de usuario utilizada cuando se ejecuta código Cuenta de usuario en nombre de la cual se realiza la tarea.

Privilegios requeridos

El suplantador necesita el privilegio de Actuar en nombre de otro usuario (prvActOnBehalfOfAnotherUser), que se incluye en el rol de seguridad Delegado o se puede habilitar para cualquier rol de seguridad.

Nota

Recuerde que los usuarios se pueden asociar a más de un rol de seguridad. La asignación del rol de seguridad Delegado a un usuario le concederá el privilegio prvActOnBehalfOfAnotherUser así como los privilegios proporcionados por cualquier otro rol de seguridad asociados a la cuenta de usuario.

El conjunto real de privilegios que se utiliza para modificar los datos es la intersección de los privilegios que el usuario suplantador posee con los del usuario suplantado.

Es decir, al suplantador se le permite hacer algo solo si el suplantador y el usuario suplantado tienen el privilegio necesario para realizar la acción.

Suplantación con la autenticación de servidor a servidor

Si está creando una aplicación de cliente web que requiere una cuenta de usuario que pueda actuar en nombre del usuario de suscripción, puede usar la cuenta especial usuario de la aplicación de modo que no sea necesario usar una licencia de usuario de Dataverse de pago.

Más información: Crear aplicaciones web mediante la autenticación de servidor a servidor (S2S).

Suplantar a otro usuario utilizando la API web

Para suplantar a un usuario, agregue un encabezado de solicitud llamado CallerObjectId con un valor GUID igual al id. de objeto de Azure Active Directory (AAD) suplantado antes de enviar la solicitud al servicio web. El id. del objeto AAD del usuario se incluye en el SystemUser.AzureActiveDirectoryObjectId.

Más información: Suplantar a otro usuario utilizando la API web.

Suplantar a otro usuario utilizando el servicio de la organización

Para suplantar a otro usuario, establezca la propiedad CallerId al valor de GUID del usuario suplantado. Las siguientes clases que implementan IOrganizationService incluyen esta propiedad.

Suplantar a otro usuario mediante complementos

Puede registrar un complemento en el que puede especificar un usuario que deben usar las operaciones. En el código de un complemento puede reemplazar esta configuración. Más información: Suplantar a un usuario.

Vea también

Crear aplicaciones web mediante autenticación de servidor a servidor (S2S)
Suplantar a otro usuario utilizando la API web
Escribir un complemento