Después de actualizar a Microsoft Dynamics CRM 2011, se produce un error: "el usuario ha iniciado sesión no tiene permisos de seguridad apropiados para ver estos registros o realizar la acción específica"

Se aplica a: Microsoft Dynamics CRM 2011Dynamics CRM 4.0

Síntomas


Después de actualizar a Microsoft Dynamics CRM 2011, un usuario puede encontrar el error a continuación cuando intenta realizar una acción en Microsoft Dynamics CRM:

El usuario ha iniciado la sesión no tiene permisos de seguridad apropiados para ver estos registros o realizar la acción específica.



Si está habilitada la traza de la plataforma de Microsoft Dynamics CRM, el seguimiento de la plataforma incluye la siguiente información de error: > informe de errores de MSCRM:


--------------------------------------------------------------------------------------------------------
Error: El servidor no pudo procesar la solicitud.
Número de error: 0x80040220
Mensaje de error: Error de SecLib::CrmCheckPrivilege. Devolvió hr =-2147220960 en UserId: e65023ae-54d1-da11-8e39-00145e3d5192 y PrivilegeId: a8ecac53-09e8-4a13-b598-8d8c87bc3d33


Nota: En este ejemplo la información, el valor de ID de usuario y el valor de PrivilegeId son marcadores de posición para los valores reales.

Causa


Cuando actualiza a Microsoft Dynamics CRM 2011, roles de seguridad personalizados no se conceden automáticamente privilegios para las nuevas características. Funciones de fuera de la caja sólo se concederán privilegios predeterminados.

Este problema también puede producirse si la función del usuario no se ha concedido un privilegio necesario para realizar la acción. Esta situación puede producirse cuando se cumple una de las siguientes condiciones:
  • La función se creó desde el principio.
  • La función se ha copiado de una función estándar. A continuación, la función se ha editado exhaustivamente.

Solución


Para resolver este problema, siga estos pasos.

Nota: Estos pasos requieren que tenga información de la traza de la plataforma de Microsoft Dynamics CRM.
  1. En la información de error que aparece en la traza de la plataforma de Microsoft Dynamics CRM, busque el valor PrivilegeId.
  2. Determinar el privilegio que falta mediante la ejecución de una consulta SQL que utiliza el valor de PrivilegeId. Por ejemplo, ejecutar una consulta SQL similar a la siguiente contra la base de datos nombreDeOrganización_MSCRM:
    select Name, * from PrivilegeBase where PrivilegeId = 'a8ecac53-09e8-4a13-b598-8d8c87bc3d33'
  3. Para conceder el privilegio que faltan para el usuario, siga estos pasos:
    1. Inicie Microsoft Dynamics CRM 2011.
    2. Haga clic en configuración, haga clic en administración en configuracióny, a continuación, haga clic en Roles de seguridad.
    3. Haga doble clic en la función que se asigna al usuario.
    4. Conceder el privilegio que faltan a la función del usuario. Por ejemplo, para conceder el privilegio prvReadLead de la función del usuario, haga clic en la ficha Registros principales y en la fila de cliente potencial , haga clic en el privilegio de lectura apropiado.
    5. Haga clic en Guardar y cerrar.