Cómo: Crear mi primera aplicación ASP.NET compatible con notificaciones mediante ACS

Actualizado: 19 de junio de 2015

Se aplica a: Azure

Importante

Los espacios de nombres ACS pueden migrar sus configuraciones de proveedor de identidades de Google de OpenID 2.0 a OpenID Connect. La migración debe completarse antes del 1 de junio de 2015. Para obtener instrucciones detalladas, consulte Migración de espacios de nombres de ACS a Google OpenID Conectar. Mientras no realice la migración, este tutorial se puede completar usando otro proveedor de identidades, como Facebook.

Se aplica a

  • Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS)

Información general

En este tema se describe el escenario de integración de ACS con una aplicación de usuario de confianza de ASP.NET. Al integrar la aplicación web con ACS, se factorizarán las características de autenticación y autorización fuera del código. En otras palabras, ACS proporciona el mecanismo para autenticar y autorizar a los usuarios a la aplicación web.

En este escenario de práctica, ACS autentica a los usuarios con una identidad de Google en una aplicación de usuario de confianza de prueba ASP.NET.

Pasos para integrar ACS con una aplicación de usuario de confianza de ASP.NET

Importante

Antes de realizar los pasos siguientes, asegúrese de que el sistema cumple todos los requisitos de .NET Framework y plataforma que se resumen en Requisitos previos de ACS.

Para integrar ACS con una aplicación de usuario de confianza de ASP.NET, complete los pasos siguientes:

  • Paso 1: Crear un espacio de nombres de Control de acceso

  • Paso 2: Iniciar el Portal de administración de ACS

  • Paso 3: Agregar los proveedores de identidades

  • Paso 4: Agregar una aplicación de usuario de confianza

  • Paso 5: Crear reglas

  • Paso 6: Revisar la información de integración de aplicaciones

  • Paso 7: Crear una aplicación de usuario de confianza de ASP.NET

  • Paso 8: Configurar la confianza entre ACS y su aplicación de usuario de confianza de ASP.NET

  • Paso 9: Probar la integración entre ACS y su aplicación de usuario de confianza de ASP.NET

Paso 1: Crear un espacio de nombres de Control de acceso

Para obtener instrucciones detalladas sobre cómo crear un espacio de nombres de Access Control, vea How to: Create an Access Control Namespace.

Paso 2: Iniciar el Portal de administración de ACS

El Portal de administración de ACS permite configurar el espacio de nombres de Access Control agregando proveedores de identidades, configurando aplicaciones de usuario de confianza, definiendo reglas y grupos de reglas, y estableciendo las credenciales en las que confía la aplicación de usuario de confianza.

Para iniciar 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 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.)

Paso 3: Agregar los proveedores de identidades

En esta sección se describe cómo agregar proveedores de identidades para usarlos con la aplicación de usuario de confianza para autenticación. Para obtener más información sobre los proveedores de identidades, consulte Proveedores de identidades.

Para agregar proveedores de identidades

  1. En el Portal de administración de ACS, haga clic en Proveedores de identidades en el árbol del lado izquierdo o haga clic en el vínculo Proveedores de identidades en la sección Introducción.

  2. En la página Proveedores de identidades, haga clic en Agregar, seleccione Google como proveedor de identidades y luego haga clic en Siguiente.

  3. La página Agregar proveedor de identidades Google le pide que escriba el texto del vínculo de inicio de sesión (el valor predeterminado es Google) y la dirección URL de la imagen. Esta URL apunta a un archivo de una imagen que se puede usar como vínculo de inicio de sesión en este proveedor de identidades. De manera opcional, puede modificar estos campos. Para este ejercicio, no los cambie, haga clic en Guardar.

Paso 4: Agregar una aplicación de usuario de confianza

En esta sección se describe cómo agregar y configurar una aplicación de usuario de confianza. Para obtener más información sobre las aplicaciones de usuario de confianza, consulte Aplicaciones de usuario autenticado.

Para configurar una aplicación de usuario de confianza

  1. En el Portal de administración de ACS, haga clic en Aplicaciones de usuario de confianza en el árbol del lado izquierdo o haga clic en el vínculo Aplicaciones de usuario autenticado en la sección Introducción.

  2. En la página Aplicaciones de usuario de confianza, haga clic en Agregar.

  3. En la página Agregar aplicación de usuario de confianza, haga lo siguiente:

    • En Nombre, escriba el nombre de la aplicación de usuario de confianza. Para este ejercicio, escriba TestApp.

    • En Modo, seleccione Escribir configuración manualmente.

    • En Dominio kerberos, escriba el URI al que se aplica el token de seguridad emitido por ACS. Para este ejercicio, escriba https://localhost:7777/.

    • En Url de retorno, escriba la dirección URL a la que ACS devuelve el token de seguridad. Para este ejercicio, escriba https://localhost:7777/.

    • En Dirección URL de error (opcional), escriba la dirección URL a la que ACS puede publicar si se produce un error durante el inicio de sesión. Para este ejercicio, deje este campo en blanco.

    • En Formato de token, seleccione un formato de token para que ACS lo use al emitir tokens de seguridad a esta aplicación de usuario de confianza. Para este ejercicio, seleccione SAML 2.0. Para obtener más información sobre los tokens y los formatos de token, consulte Formatos de token admitidos en ACS y "Formato de token" en Aplicaciones de usuario autenticado.

    • En Directiva de cifrado de tokens, seleccione una directiva de cifrado para los tokens emitidos por ACS para esta aplicación de usuario de confianza. Para este ejercicio, acepte el valor predeterminado Ninguno. Para obtener más información sobre la directiva de cifrado de tokens, consulte "Directiva de cifrado de tokens" en Aplicaciones de usuario de confianza.

    • En Vigencia del token (s), especifique la cantidad de tiempo que será válido el token de seguridad emitido por ACS. Para este ejercicio, acepte el valor predeterminado 600. Para obtener más información, vea "Duración del token" en Aplicaciones de usuario de confianza.

    • En Proveedores de identidades, selecciona los proveedores de identidades que se deben usar con esta aplicación de usuario de confianza. Para este ejercicio, acepte los valores predeterminados comprobados (Google y Windows Live ID).

    • En Grupos de reglas, seleccione los grupos de reglas que va a usar esta aplicación de usuario de confianza al procesar notificaciones. Para este ejercicio, acepte Crear nuevo grupo de reglas, que está marcada de forma predeterminada. Para obtener más información sobre los grupos de reglas, vea Grupos de reglas y reglas.

    • En la sección Token Signing Configuración (Firma de tokens), seleccione si desea firmar tokens SAML con el certificado del espacio de nombres Access Control o con un certificado personalizado específico para esta aplicación. Para este ejercicio, acepte el valor predeterminado Usar certificado de espacio de nombres de servicio (estándar). Para obtener más información sobre la firma de tokens, consulte "Firma de tokens" en Aplicaciones de usuario de confianza.

  4. Haga clic en Save(Guardar).

Paso 5: Crear reglas

En esta sección se describe cómo definir las reglas que determinan cómo se pasan las notificaciones desde los proveedores de identidades hacia su aplicación de usuario de confianza. Para obtener más información sobre las reglas y los grupos de reglas, vea Reglas y grupos de reglas.

Para crear reglas

  1. En la página principal del Portal de administración de ACS, haga clic en Grupos de reglas en el árbol de la izquierda o haga clic en el vínculo Grupos de reglas de la sección Introducción.

  2. En la página Grupos de reglas, haga clic en Grupo de reglas predeterminado para TestApp (dado que asignó el nombre TestApp a su aplicación de usuario de confianza).

  3. En la página Editar grupo de reglas, haga clic en Generar.

  4. En la página Generar reglas: Grupo de reglas predeterminado para TestApp, acepte los proveedores de identidades seleccionados de forma predeterminada (en este ejercicio, Google y Windows Live ID) y, a continuación, haga clic en el botón Generar.

  5. En la página Editar grupo de reglas, haga clic en Guardar.

Paso 6: Revisar la información de integración de aplicaciones

Puede encontrar toda la información y el código necesarios para modificar la aplicación de usuario de confianza para que funcione con ACS en la página Integración de aplicaciones del Portal de administración de ACS.

Para revisar la información de integración de aplicaciones

  • En la página principal del Portal de administración de ACS, haga clic en Integración de aplicaciones en el árbol de la izquierda o haga clic en el vínculo Integración de aplicaciones en la sección Introducción.

    Los URI de ACS que se muestran en la página Integración de aplicaciones son únicos para el espacio de nombres de Access Control.

    Para este ejercicio, se recomienda mantener esta página abierta para realizar los pasos restantes rápidamente.

Paso 7: Crear una aplicación de usuario de confianza de ASP.NET

En esta sección se describe cómo crear una aplicación de usuario de confianza de ASP.Net que desea integrar finalmente con ACS.

Para crear una aplicación de usuario de confianza de ASP.NET

  1. Para ejecutar Visual Studio 2010, haga clic en Inicio, haga clic en Ejecutar, escriba el texto siguiente y presione Entrar:
    devenv.exe

  2. En Visual Studio, haga clic en Archivo y luego haga clic en Nuevo proyecto.

  3. En la ventana Nuevo proyecto, seleccione la plantilla de Visual BasicVisual C# y luego seleccione Aplicación web ASP.NET MVC 2.

  4. En Nombre, escriba el texto siguiente y luego haga clic en Aceptar:
    TestApp

  5. En Crear proyecto de prueba unitaria, seleccione No, no crear un proyecto de prueba unitaria y luego haga clic en Aceptar.

  6. En el Explorador de soluciones, haga clic con el botón secundario en TestApp y seleccione Propiedades.

  7. En la ventana Propiedades de TestApp, seleccione la pestaña Web, bajo Usar servidor de desarrollo de Visual Studio haga clic en Puerto específico y luego cambie el valor a 7777.

  8. Para ejecutar y depurar la aplicación que acaba de crear, presione F5. Si no se encuentran errores, el explorador presenta un proyecto MVC vacío.

    Mantenga abierto Visual Studio 2010 para completar el paso siguiente.

Paso 8: Configurar la confianza entre ACS y su aplicación de usuario de confianza de ASP.NET

En esta sección se describe cómo integrar ACS con la aplicación ASP.NET usuario de confianza que creó en el paso anterior.

Para configurar la confianza entre la aplicación de usuario de confianza de ASP.NET y ACS

  1. En el Explorador de soluciones para TestApp de Visual Studio 2010, haga clic con el botón secundario en TestApp y seleccione Agregar referencia STS.

  2. En el asistente Utilidad de federación, haga lo siguiente:

    1. En la página Bienvenido al asistente de la utilidad de federación, en URI de aplicación, escriba el URI de la aplicación y luego haga clic en Siguiente. En esta demostración, el URI de la aplicación es https://localhost:7777/.

      Nota

      La barra diagonal final es importante porque coincide con el valor especificado en el Portal de administración de ACS para la aplicación de usuario de confianza. Para obtener más información, vea Paso 4: Agregar una aplicación de usuario de confianza.

    2. Aparece una advertencia: Id. 1007: La aplicación no está hospedada en una conexión https segura. ¿Desea continuar? Para esta demostración, haga clic en .

      Nota

      En un entorno de producción, esta advertencia sobre el uso de SSL es válida y no debe desecharse.

    3. En la página Servicio de token de seguridad, seleccione Usar STS existente, escriba la dirección URL de metadatos de WS-Federation publicada por ACS y, a continuación, haga clic en Siguiente.

      Nota

      Puede encontrar el valor de la dirección URL de metadatos de WS-Federation en la página Integración de aplicaciones del Portal de administración de ACS. Para obtener más información, consulte Paso 6: Revisión de la información de integración de aplicaciones.

    4. En la página Error de validación en cadena de certificado de firma STS, haga clic en Siguiente.

    5. En la página Cifrado de token de seguridad, haga clic en Siguiente.

    6. En la página Notificaciones ofrecidas, haga clic en Siguiente.

    7. En la página Resumen, haga clic en Finalizar.

    Una vez finalizada correctamente la ejecución del asistente de la utilidad de federación, se agrega una referencia en el ensamblado Microsoft.IdentityModel.dll y se escriben los valores en el archivo Web.config que configura Windows Identity Foundation en la aplicación web ASP.NET MVC 2 (TestApp).

  3. Abra Web.config y busque el elemento system.web principal. Puede tener un aspecto similar al siguiente:

    <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
    

    Modifique Web.config para permitir la validación de solicitudes. Para ello, agregue el código siguiente bajo el elemento system.web principal:

        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
    
    

    Después de la actualización, el fragmento de código anterior se debe ver así:

    
       <system.web>
        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
        <authorization>
        <deny users="?" />
        </authorization>
    

Paso 9: Probar la integración entre ACS y su aplicación de usuario de confianza de ASP.NET

En esta sección se describe cómo probar la integración entre la aplicación de usuario de confianza y ACS.

Para probar la integración entre la aplicación de usuario de confianza de ASP.NET y ACS

  1. Mantenga Visual Studio 2010 abierto, presione F5 para iniciar la depuración de la aplicación de usuario de confianza de ASP.NET.

    Si no se encuentra ningún error, en lugar de abrir la aplicación MVC predeterminada, el explorador se redirige a una página de detección de dominio principal hospedada por ACS que le pide que elija un proveedor de identidades.

  2. Seleccione Google.

    El explorador carga la página de inicio de sesión de Google.

  3. Escriba sus credenciales de prueba de Google y acepte la interfaz de usuario de consentimiento en el sitio web de Google.

    A continuación, el explorador vuelve a exponer a ACS, ACS emite un token y publica ese token en el sitio de MVC.

Consulte también

Conceptos

Procedimientos de ACS