Compartir a través de


Autenticación de portal (Dynamics CRM 2015)

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Cuenta de Microsoft permite autenticar a los usuarios en el sitio web sin tener que crear sus propios proveedores de seguridad. En este tema se muestra cómo usar la autenticación de Cuenta de Microsoft con el sitio web con extensiones de desarrollador para Microsoft Dynamics CRM 2015 y el kit de herramientas de portal.

En este tema

Registrar el sitio web con la cuenta Microsoft

Agregar el control LiveIdLoginStatus

Agregar el proveedor de pertenencia y el servicio del controlador

Registro obligado

Registrar el sitio web con la cuenta Microsoft

Para comenzar, debe registrar el sitio web con Cuenta de Microsoft:

https://account.live.com/developers/applications

Al registrar su ubicación, debe proporcionar el nombre de dominio completo, por ejemplo, "yoursite.yourdomain.com", no solo "yourdomain.com".

También debe proporcionar una dirección URL que dirija las solicitudes de Cuenta de Microsoft cuando hayan terminado de iniciar sesión. Esta será para su servicio del controlador, del que puede leer más adelante en este documento pero, de forma predeterminada, la dirección URL que se escribirá es:

http://yoursite.yourdomain.com/liveid.axd. 

Una vez registrado el sitio web, se le proporciona un identificador de la aplicación en secreto que usará para conectarse a su web.config, de manera que el sitio se puede conectar hasta Cuenta de Microsoft.

Estas son algunas cosas a tener en cuenta:

Los nombres de dominio no pueden incluir cadenas, por ejemplo, localhost, 127.0.0.1, ni ningún elemento con la palabra "live" en él.

No se puede compartir la administración del sitio web con otros usuarios.

No se puede cambiar el nombre de dominio después de haberlo registrado.

Agregar el control LiveIdLoginStatus

El último paso es agregar el control LiveIdLoginStatus, que actúa como el control LoginStatus. Muestra un vínculo de inicio de sesión para los usuarios que no están autenticados y un vínculo de cierre de sesión para los usuarios autenticados.

Si es anónimo, el vínculo lleva al usuario a Windows Live u opcionalmente (usando Loginhref) a una página de aterrizaje especificada que permite al usuario saber que va a Windows Live.

Si es autenticado, el vínculo de cierre de sesión reinicializa la identidad actual del usuario para ser usuario anónimo.

<crm:LiveIdLoginStatus runat="server" /> 

Esto da por hecho que el prefijo de etiqueta "crm" se ha registrado como "Microsoft.Xrm.Portal.Web.UI.WebControls".

Agregar el proveedor de pertenencia y el servicio del controlador

El proveedor de pertenencia controla la información de inicio de sesión de los usuarios. Al usar Cuenta de Microsoft se requiere el uso de un proveedor de pertenencia de Cuenta de Microsoft:

<membership defaultProvider="CrmMembershipProvider">
    <providers>
        <add name="CrmMembershipProvider" type="Microsoft.Xrm.Portal.Web.Security.LiveIdMembershipProvider, Microsoft.Xrm.Portal" liveIdConnectionStringName="Live"/>
    </providers>
</membership>

El servicio del controlador valida si se ha registrado al usuario autenticado en el sitio web. Si está ejecutando una ubicación de Internet Information Services (IIS) 7 en modo integrado, deberá asegurarse de que lo siguiente se agrega en la sección <handlers>:

<add name="LiveId" verb="*" path="LiveID.axd" preCondition="integratedMode" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal" />

Si ejecuta en modo de canalización clásico o IIS6, el servicio del controlador se configura en la sección <httpHandlers> del archivo Web.config.

<add verb="*" path="LiveID.axd" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal"/>

Registro obligado

Cuando se usa Cuenta de Microsoft para la autenticación, solo se conoce el identificador único de Passport (PUID). Si desea obtener información adicional sobre el usuario (como el nombre o correo electrónico) necesita recopilar estos datos del propio usuario. Esto se puede hacer de dos maneras:

  • Configurar una página para que el usuario complete la información a su propia conveniencia cuando está conectado.

  • Recopilar la información antes de que el usuario pueda ser autenticado en su sitio.

Para realizar la segunda manera, la instalación de Cuenta de Microsoft necesitará un control especial.

  1. Como parte de un registro de usuario, Microsoft Dynamics 365 necesita conocer el PUID del usuario, de manera que pueda vincularlo a la información de contacto de Microsoft Dynamics 365 del usuario. Es decir, necesita tener el registro del usuario para usar Cuenta de Microsoft y después enviar al usuario a la página de registro. Esto se realiza al agregar el atributo RegistrationUrl en el control LiveIdLoginStatus.

    <crm:LiveIdLoginStatus runat="server" RegistrationUrl="/CreateUser" /> 
    
  2. En el código que se encuentra tras la página de registro, necesita agregar código para mantener el token de Cuenta de Microsoft y crear el nuevo usuario una vez que haya obtenido la información que desea.

    protected void Page_Load(object sender, EventArgs e)
    {
      if (InvitationCode == null || InvitedContact == null)
      {
        var page = SiteContext.Current.Website.GetPageBySiteMarkerName("Home");
        Response.Redirect(page.GetUrl());
      }
    
      // Add the Live ID variables that come from the authentication handler to hidden 
      // script variables.
      if (Request["live-id-action"] == "register")
      {
        Page.ClientScript.RegisterHiddenField("live-id-token", 
          Request["live-id- token"]);
        Page.ClientScript.RegisterHiddenField("live-id-action", 
          Request["live-id-action"]);
      }
    }
    

Ver también

Manual de desarrollador de portal para Microsoft Dynamics CRM 2015
Prepararse para el desarrollo de portal (Dynamics CRM 2015)
Formularios web y enlace de datos ASP.NET
Administrar contenido de portal (Dynamics CRM 2015)
Tutoriales de portal para Dynamics CRM 2015

© 2017 Microsoft. Todos los derechos reservados. Copyright