Compartir a través de


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

Actualizado: 19 de junio de 2015

Se aplica a: Azure

En este ejemplo se muestra cómo integrar Microsoft Azure Active Directory Access Control (también conocido como servicio de Access Control 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 de ejemplos de código de Microsoft Azure Active Directory Access Control (ACS).

Para obtener más información sobre la característica de cierre de sesión único en ACS, consulte Cierre de sesión único.

Requisitos previos

Para ejecutar este ejemplo, necesitará lo siguiente:

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

Configuración del ejemplo

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

  • Opción 1: Uso del Portal de administración de ACS

  • Opción 2: Uso del servicio de administración de ACS

Opción 1: Uso del Portal de administración de ACS

Para configurar el ejemplo mediante el Portal de administración de ACS

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y, a continuación, haga clic en Active Directory. (Sugerencia de 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, App Services, 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 permitir que los usuarios de la aplicación inicien sesión con sus identidades de Google o Yahoo! , haga clic en Proveedores de identidades, haga clic en Agregar y, a continuación, agregue Google y Yahoo!.

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

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

    • En el campo Nombre, escriba ASPNETMVC4Sample.

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

    • En el campo Url de retorno , escriba https://localhost:65000/

    • En el campo Dirección URL de error , escriba https://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 información sobre los campos y los valores de la página Agregar aplicación de usuario de confianza, vea Aplicaciones de usuario autenticado.

  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 ACS envía a la aplicación. Al seleccionar todas las reglas generadas, se configura ACS para enviar todas las notificaciones emitidas por los proveedores de identidades a la aplicación de usuario de confianza.

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

Opción 2: Uso del servicio de administración de ACS

La solución de ejemplo Visual Studio tiene una aplicación de consola denominada ConfigureSample que usa el servicio de administración de ACS y los asistentes comunes definidos en la biblioteca de clases Comunes. Puede usar esta aplicación para configurar el espacio de nombres Access Control para usarlo con este ejemplo.

Para configurar el ejemplo mediante el servicio de administración de ACS

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

    Para ir al Portal de administración de ACS: vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y, a continuación, haga clic en Active Directory. (Sugerencia de solución de problemas: falta el elemento "Active Directory" o no está disponible) Para administrar un espacio de nombres Access Control, seleccione el espacio de nombres y 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: escriba el nombre del espacio de nombres de 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 de 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 de 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 usa los datos de SamplesConfiguration.cs para configurar ACS para ejecutar el ejemplo.

Ejecutar el ejemplo

Para ejecutar el ejemplo

  1. Abra el archivo de solución del 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 el espacio de nombres Access Control y la contraseña de la cuenta de servicio de administración.

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

    Los proveedores de identidades que aparecen son los que agregó al configurar 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 dirige a la página detección de dominio principal 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 https://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.

Consulte también

Conceptos

Cómo: Crear un espacio de nombres de Access Control
Servicio de administración de ACS