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

Este ejemplo muestra cómo integrar el Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS) en un servicio web sencillo. En este ejemplo se usa ASP.NET como host de servicio web y como cliente de línea de comandos. El servicio web ASP.NET requiere un token SWT emitido por el ACS. El cliente solicita un token del ACS con un nombre de usuario y una contraseña registrados en el ACS. El código de este ejemplo se encuentra en el subdirectorio ASPNETSimpleService (C#\WebServices\ASPNETSimpleService) del paquete Ejemplos de código de control de acceso (ACS) a Microsoft Azure Active Directory.

Para ejecutar este ejemplo, necesitará realizar lo siguiente:

  1. Crear una cuenta en la Página principal de Azure (http://go.microsoft.com/fwlink/?LinkId=130560) y crear un Espacio de nombres Access Control.

  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 del ACS necesaria para este ejemplo se puede definir mediante 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 mediante el Portal de administración de ACS

  2. Opción 2: Configuración del ejemplo 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.)

    Esta acción abrirá el portal de administración de Access Control Service.

  4. Para registrar la aplicación en el ACS, haga clic en Aplicaciones de usuario de confianza, haga clic en Agregar y luego especifique la información siguiente en el formulario:

    • En el campo Nombre, escriba ASPNET Simple Service.

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

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

    • Seleccione SWT del cuadro de lista desplegable Formato de token.

    • En el campo Clave de firma de token, haga clic en Generar para crear una clave de firma de token. Copie esta clave para su posterior uso en la configuración.

    • En el campo Fecha de expiración, escriba una fecha de expiración adecuada para la clave. La clave dejará de ser válida pasada esta fecha.

    • Deje el resto de campos con sus valores predeterminados.

  5. Haga clic en Guardar y luego haga clic en Inicio para volver a la página de inicio del portal de administración de Access Control Service.

  6. Una vez registrado el usuario de confianza, deberá crear las reglas que determinen las notificaciones que ACS emitirá para su aplicación. En este ejemplo, crearemos una regla que conceda una notificación de acción a cualquier nombre de usuario y contraseña registrados, junto con el valor reverse. Para crear esta regla, haga clic en Inicio para volver a la página de inicio del portal de administración de Access Control Service, haga clic en Grupos de reglas y luego haga clic en Grupo de reglas predeterminado para el servicio simple ASP.NET. Agregue una nueva regla con la configuración siguiente:

    • En la sección Emisor de notificaciones, seleccione Access Control Service.

    • 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 Escribir tipo y escriba action en el campo.

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

  7. A diferencia de los ejemplos de sitio web, este ejemplo se basa en las credenciales que administra ACS. El último paso en la configuración de ACS consiste en registrar el nombre de usuario y la contraseña de la aplicación cliente que se va a usar. Para configurar un nuevo nombre de usuario y una nueva contraseña, haga clic en Inicio para volver a la página de inicio del portal de administración de Access Control Service. Haga clic en Identidades de servicio, haga clic en Agregar y rellene el formulario. Para este ejemplo, use el nombre de usuario acssample, el tipo de credencial Password y la contraseña pass@word1.

  8. Haga clic en Guardar y luego haga clic en Inicio para volver a la página de inicio del portal de administración de Access Control Service.

La solución de ejemplo de Visual Studio dispone de una aplicación de consola denominada ConfigureSample que usa el Servicio de administración de ACS y las aplicaciones auxiliares comunes definidas en la biblioteca de la clase Common. Esta aplicación se puede usar para configurar un 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. Con esto, ACS se configurará para ejecutar este ejemplo.

  3. Cuando la aplicación ConfigureSample haya finalizado, enviará a 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: Service y Client.

  2. Si aún no lo ha hecho, escriba los detalles del Espacio de nombres Access Control en Common\SamplesConfiguration.cs. Para más información, vea el paso 1 de la opción 2: Configuración mediante el servicio de administración de ACS. Los proyectos Service y Client también usan este archivo.

  3. Abra el archivo web.config en el proyecto Service. Escriba la clave de firma de token en los elementos AppSettings apropiados. Si configuró ACS mediante el servicio de administración, este será el valor que copió en el portapapeles. Para obtener la clave de firma de token, consulte el área Certificados y claves del portal. A continuación se muestra 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 Client. Escriba su nombre de usuario y su clave en los elementos AppSettings apropiados. Para obtener el nombre de usuario y la contraseña previamente registrados, consulte el área Identidades de servicio del portal. A continuación se muestra un fragmento de código que muestra esta área (debidamente actualizada) del archivo app.config del proyecto Client.

      <appSettings>
        <add key="OAuthUserName" value="acssample" />
        <add key="OAuthPassword" value="pass@word1" />
        <add key="ServiceAddress" value="http://localhost:8000/Service/Default.aspx" />   
      </appSettings>
    
    
  5. Para ejecutar el ejemplo, inicie el servicio y luego inicie el cliente. En el cliente, escriba una cadena para revertir. La ventana de la consola del cliente debería mostrar un mensaje para indicar que se ha recibido un token de ACS.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft