Esta documentación está archivada y no tiene mantenimiento.

Ejemplo de código: ASP.NET MVC 4 con cierre de sesión federado

Publicada: febrero de 2013

Actualizado: junio de 2015

Se aplica a: Azure

En este ejemplo se muestra cómo integrar Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS) con una aplicación ASP.NET MVC 4. La integración de ACS permite las características de inicio de sesión único y cierre de sesión único para los proveedores de identidades admitidos en una aplicación ASP.NET MVC 4.

El código de este ejemplo se encuentra en el subdirectorio ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) del paquete Ejemplos de código de control de acceso (ACS) a Microsoft Azure Active Directory.

Para más información sobre la característica de cierre de sesión único, vea Inicio de sesión único.

Para ejecutar este ejemplo, necesitará realizar lo siguiente:

Para obtener más información, vea Requisitos previos de ACS.

Puede usar el Portal de administración de ACS o el servicio de administración de ACS para configurar el ejemplo. En este tema se describen ambas opciones.

  • Opción 1: Mediante el Portal de administración de ACS

  • Opción 2: Mediante el servicio de administración de ACS

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y haga clic en Active Directory. (Sugerencia para solución de problemas: falta el elemento "Active Directory" o no está disponible)

  2. Para crear un espacio de nombres Access Control, haga clic en Nuevo, Servicios de aplicaciones, Access Control y, a continuación, en Creación rápida. (O haga clic en espacios de nombres Access Control antes de hacer clic en Nuevo.)

  3. Para administrar el espacio de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar. (O haga clic en espacios de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar.)

    Se abre el Portal de administración de ACS.

  4. Para que los usuarios de su aplicación inicien sesión con sus identidades de Google or Yahoo!, haga clic en Proveedores de identidades, haga clic en Agregar y luego agregue Google o Yahoo!.

    Para obtener instrucciones, vea Google como proveedor de identidades de ACS y Yahoo! como proveedor de identidades de ACS. Windows Live ID (cuenta de Microsoft) se agrega de forma predeterminada y no se puede eliminar.

  5. Para registrar su aplicación en ACS, haga clic en Aplicaciones de usuario de confianza, haga clic en Agregar, escriba la información siguiente en el formulario y luego haga clic en Guardar.

    • En el campo Nombre, escriba ASPNETMVC4Sample.

    • En el campo Dominio, escriba http://localhost:65000/

    • En el campo Dirección URL de retorno, escriba http://localhost:65000/

    • En el campo URL del error, escriba http://localhost:65000/Error.

    • En el campo Formato de token, seleccione SAML 2.0.

    • En el campo Firma de token, seleccione Usar el certificado de espacio de nombres del servicio (estándar).



    Para obtener más información sobre los campos y los valores de la página Agregar aplicación de usuario de confianza, vea Aplicaciones de usuario de confianza.

  6. Para crear un grupo de reglas que envíe todas las notificaciones emitidas por los proveedores de identidades a la aplicación de usuario de confianza, haga clic en Grupos de reglas, haga clic en Grupos de reglas predeterminado para ACS Simple MVC4 Sample, haga clic en Generar y luego haga clic en Guardar.

    La sección Grupos de reglas del portal de ACS crea las reglas que determinan qué notificaciones envía ACS a su aplicación. Al seleccionar todas las reglas generadas, configura ACS para que envíe todas las notificaciones emitidas por los proveedores de identidades a la aplicación de usuario de confianza.

El ejemplo ya está configurado y listo para ejecutarse en Visual Studio 2012.

La solución de Visual Studio de ejemplo tiene una aplicación de consola llamada ConfigureSample que usa el servicio de administración de ACS y las aplicaciones auxiliares comunes definidas en la biblioteca de la clase Common. Puede usar esta aplicación para configurar su Espacio de nombres Access Control para usarlo con este ejemplo.

  1. Para configurar el ejemplo, abra SamplesConfiguration.cs (acs\Management\ManagementService\Common). Reemplace los marcadores de posición en la clase SamplesConfiguration en la biblioteca de la clase Common por la información sobre su Espacio de nombres Access Control. Encontrará la información en el Portal de administración de ACS.

    Para navegar al Portal de administración de ACS: Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y haga clic en Active Directory. (Sugerencia para solución de problemas: falta el elemento "Active Directory" o no está disponible) Para administrar el espacio de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar. (O haga clic en espacios de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar.)

    • ServiceNamespace: especifique el nombre de su Espacio de nombres Access Control.

    • ManagementServiceIdentityName: escriba el nombre de una cuenta de servicio de administración de ACS. El valor predeterminado es ManagementClient.

      Para buscar el nombre de la cuenta del servicio de administración, en el Portal de administración de ACS, haga clic en Servicio de administración. Las cuentas aparecen por nombre bajo Cuentas del servicio de administración.

    • ManagementServiceIdentityKey: escriba la contraseña de la cuenta del servicio de administración.

      Para buscar la contraseña de la cuenta del servicio de administración, en el Portal de administración de ACS, haga clic en Servicio de administración. Haga clic en el nombre de una cuenta del servicio de administración y luego, en Credenciales, haga clic en Contraseña. La contraseña aparece en el campo Contraseña. Para copiar la contraseña, haga clic en Mostrar contraseña.

  2. Ejecute la aplicación ConfigureSample en Visual Studio. La aplicación utiliza los datos de SamplesConfiguration.cs configurar ACS para ejecutar el ejemplo.

  1. Abra el archivo de la solución para el ejemplo, ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\), en Visual Studio 2012.

  2. Haga clic con el botón secundario en el proyecto y seleccione Identidad y acceso en el menú contextual.

  3. Seleccione Usar el Servicio de control de acceso de Azure.

  4. A continuación, Seleccione uno o más proveedores… y haga clic en Configurar.

  5. Escriba su Espacio de nombres Access Control y la contraseña de la cuenta del servicio de administración.

  6. Seleccione uno o varios proveedores de identidades en la lista.

    Los proveedores de identidades que aparecen son aquellos que agregó cuando configuró el ejemplo en el portal de ACS o en el servicio de administración de ACS.

    Ahora la aplicación de usuario de confianza está configurada para usar ACS.

  7. Presione F5 para ejecutar la aplicación. El explorador se redirige a la página Detección del dominio de inicio de ACS.

  8. Haga clic en Google. El explorador se redirige a una página de inicio de sesión de Google.

  9. Escriba las credenciales de una cuenta de Google y rechace el formulario de consentimiento del usuario.

El explorador se redirige a http://localhost:65000/. Observe que su nombre de usuario de Google aparece en la esquina superior izquierda de la página. Esto indica que ha iniciado sesión en la aplicación de usuario de confianza. Para cerrar sesión en la aplicación de usuario de confianza, haga clic en el vínculo Cerrar sesión. Observe que ya no estará autenticado.

Vea también

Mostrar: