Exportar (0) Imprimir
Expandir todo

Ejemplo de código: Servicio web ASP.NET

Publicada: abril de 2011

Actualizado: febrero de 2014

Se aplica a: Azure

En este ejemplo se ilustra la integración de Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS) en un servicio web simple. Usa ASP.NET como un host de servicio web y un cliente de línea de comandos. El servicio web ASP.NET requiere un token SWT emitido por ACS. El cliente solicita un token de ACS con un nombre de usuario y una contraseña registrados con ACS. El código de este ejemplo se encuentra en la carpeta ASPNETSimpleService del paquete Ejemplos y documentación del Servicio de control de acceso (http://go.microsoft.com/fwlink/?LinkId=213167).

Para ejecutar este ejemplo, necesitará lo siguiente:

  1. Crear una cuenta en la página principal de Windows Azure (http://go.microsoft.com/fwlink/?LinkId=130560) y crear un espacio de nombres del Servicio de control de acceso.

  2. Visual Studio 2010 (cualquier versión)

Para obtener más detalles, vea Requisitos previos de ACS (http://go.microsoft.com/fwlink/?LinkId=221065).

La configuración de ACS necesaria para este ejemplo se puede realizar utilizando el Portal de administración de ACS o el Servicio de administración de ACS. En este tema se describen ambas opciones.

  1. Opción 1: Configuración del ejemplo usando el Portal de administración de ACS

  2. Opción 2: Configuración del ejemplo usando el Servicio de administración de ACS

  1. Abra un explorador, vaya a la página principal de Windows Azure (http://go.microsoft.com/fwlink/?LinkId=130560) e inicie sesión. Vaya a la sección Bus de servicio, control de acceso y caché para configurar su espacio de nombres de servicio de ACS. Cuando haya creado un espacio de nombres, selecciónelo y haga clic en Administrar > Servicio de control de acceso, en la parte de arriba de la página. Así, se iniciará la página en una nueva ventana.

  2. Para registrar la aplicación con ACS, haga clic en el vínculo Aplicaciones de usuario de confianza en la página principal, haga clic en Agregar y, a continuación, especifique la información siguiente en el formulario:

    • En el campo Nombre, especifique Servicio ASPNET simple.

    • En el campo Dominio kerberos, especifique http://localhost:8000/Service/

    • En el campo Dirección URL de retorno, especifique http://localhost:8000/Service/

    • Seleccione SWT en el cuadro de lista desplegable Formato de token.

    • En el campo Clave de firma de tokens, haga clic en Generar para crear una clave de firma de tokens. Copie esta clave para utilizarla más adelante en la configuración.

    • En el campo Fecha de vencimiento, especifique una fecha de vencimiento adecuada para la clave. La clave dejará de ser válida en esta fecha

    • Mantenga en los otros campos los valores predeterminados.

  3. Haga clic en Guardar y, a continuación, vaya a la página principal.

  4. Con el usuario de confianza registrado, ha llegado el momento de crear las reglas que determinan las notificaciones que emitirá ACS en la aplicación. En este ejemplo, crearemos una regla que conceda a todo nombre de usuario y contraseña registrados una notificación de acción con el valor de inverso. Para crear esta regla, vaya a la página principal del portal, seleccione Grupos de reglas y, a continuación, seleccione Grupo de reglas predeterminado para el servicio ASP.NET simple. Agregue una nueva regla con la siguiente configuración:

    • En la sección Emisor de notificación, seleccione Servicio de control de acceso.

    • En la sección Tipo de notificación de entrada, seleccione Cualquiera.

    • En la sección Valor de notificación de entrada, seleccione Cualquiera.

    • En la sección Tipo de notificación de salida, seleccione Introducir tipo y escriba acción en el campo.

    • En la sección Valor de notificación de salida, seleccione Introducir valor y escriba inverso en el campo.

  5. En contraste con los ejemplos del sitio web, este ejemplo se basa en las credenciales administradas por ACS. El último paso para configurar ACS consiste en registrar el nombre de usuario y la contraseña que va a usar la aplicación cliente. Para configurar un nuevo nombre de usuario y una nueva contraseña, seleccione el vínculo Identidades de servicio que se encuentra en la página principal del portal, haga clic en el vínculo Agregar y complete el formulario. Para este ejemplo, utilice el nombre de usuario acssample, el Tipo de credencial Contraseña y la contraseña pass@word1.

  6. Haga clic en Guardar y, a continuación, vuelva a la página principal del portal.

La solución Visual Studio de ejemplo tiene una aplicación de consola denominada ConfigureSample que usa el Servicio de administración de ACS y los ayudantes comunes definidos en la biblioteca de clases Común. Esta aplicación se puede usar para configurar el espacio de nombres de servicio de ACS para utilizarlo con este ejemplo.

  1. Actualice la biblioteca de clases Común con información sobre el espacio de nombres de servicio. Abra SamplesConfiguration.cs y especifique la información siguiente:

    • ServiceNamespace: espacio de nombres usado con ACS.

    • ManagementServiceIdentityName: nombre de la cuenta del servicio de administración.

    • ManagementServiceIdentityKey: contraseña asociada a la cuenta del Servicio de administración.

    • AcsHostUrl: nombre de host de ACS.

  2. Ejecute la aplicación ConfigureSample en Visual Studio. Así, configurará ACS para ejecutar este ejemplo.

  3. Cuando la aplicación ConfigureSample haya finalizado, mostrará en la consola la clave de firma de usuario de confianza generada. Copie esta clave en el portapapeles.

  1. Abra el ejemplo en Visual Studio. La solución consta de dos proyectos: Servicio y Cliente.

  2. Si no lo ha hecho todavía, introduzca los detalles del espacio de nombres de servicio en Common\SamplesConfiguration.cs. Para obtener más información, vea el paso 1 de la Opción 2: Configuración mediante el servicio de administración de ACS. Este archivo lo usan también los proyectos Servicio y Cliente.

  3. Abra el archivo web.config en el proyecto Servicio. Especifique su clave de firma de tokens en los elementos correspondientes de AppSettings. Si ha configurado ACS con el servicio de administración, se trata del valor copiado en el portapapeles. Para obtener la clave de firma de tokens, consulte el área Certificados y claves del portal. A continuación, aparece un fragmento de código que muestra esta área del archivo web.config del servicio.

    <appSettings>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
    
  4. Abra el archivo app.config en el proyecto Cliente. Especifique su nombre de usuario y contraseña en los elementos correspondientes de AppSettings. Para obtener el nombre de usuario y la contraseña previamente registrados, vea el área Identidades de servicio del portal. A continuación, aparece un fragmento de código que muestra esta área del archivo app.config del cliente.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.appfabriclabs.com"/>
        <add key="AccessControlNamespace" value="...update to your service namespace..."/>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
    
  5. Para ejecutar el ejemplo, inicie el servicio y, a continuación, inicie el cliente. En el cliente, especifique una cadena que invertir. A continuación, la ventana de la consola de cliente debería mostrar un mensaje que indica que se ha recibido un token de ACS.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft