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:
Una cuenta del Azure Portal (https://go.microsoft.com/fwlink/?LinkID=275081) y un espacio de nombres Access Control. En este ejemplo se usa un espacio de nombres Access Control denominado acssamples. El nombre de su espacio de nombres puede ser distinto.
Para obtener más información sobre cómo crear un espacio de nombres de Access Control, vea How to: Create an Access Control Namespace.
Visual Studio 2012
Herramienta de identidad y acceso para Visual Studio 2012 (https://msdn.microsoft.com/library/hh545418.aspx)
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
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 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.)
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.
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.
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.
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
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.
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
Abra el archivo de solución del ejemplo ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\), en Visual Studio 2012.
Haga clic con el botón secundario en el proyecto y seleccione Identidad y acceso en el menú contextual.
Seleccione Usar el Servicio de control de acceso de Azure.
A continuación, Seleccione uno o más proveedores… y haga clic en Configurar.
Escriba el espacio de nombres Access Control y la contraseña de la cuenta de servicio de administración.
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.
Presione F5 para ejecutar la aplicación. El explorador se dirige a la página detección de dominio principal de ACS.
Haga clic en Google. El explorador se redirige a una página de inicio de sesión de Google.
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