Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

Procedimiento: Crear mi primer servicio ASP.NET compatible con notificaciones mediante ACS

Publicada: abril de 2011

Actualizado: febrero de 2014

Se aplica a: Azure

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

noteNota
Este tema corresponde a una tecnología heredada. Para crear servicios web XML y clientes de servicios web XML, vea http://go.microsoft.com/fwlink/?LinkID=220304.

En este tema se describe cómo integrar un servicio web sencillo de ASP.NET a ACS. Al integrar su servicio web con ACS, debe tener en cuenta las características de autenticación y autorización en el código. ACS ofrece los mecanismos para autenticar y autorizar clientes en su servicio web. Para obtener más información, vea Servicios web y ACS.

En un escenario de servicio web, se supone que un cliente del servicio web no tiene acceso a un explorador y actúa de forma anónima (sin participación del usuario). Además, en un escenario de servicio web, un cliente puede obtener acceso a un servicio web mediante una identidad de servicio o una identidad empresarial. En el ejercicio que se describe en este tema, un cliente obtiene acceso a un servicio web ASP.NET de ejemplo mediante un tipo de credencial de identidad de servicio configurado en ACS.

Para completar los pasos de este tema, debe descargar un servicio ASP.NET de muestra. Para obtener más información, vea Ejemplo de código: Servicio web ASP.NET.

El Portal de administración de ACS le permite configurar su Espacio de nombres Access Control mediante la adición de proveedores de identidades, la configuración de aplicaciones de usuarios de confianza, la definición de reglas y grupos de reglas, y el establecimiento de credenciales en las que confíe su aplicación de usuario de confianza.

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

En esta sección se describe cómo agregar una aplicación de usuario de confianza. Para obtener más información acerca de las aplicaciones de usuario de confianza, vea Aplicaciones de usuario de confianza.

  1. En el Portal de administración de ACS, haga clic en Aplicaciones de usuario de confianza en el árbol a la izquierda o haga clic en el vínculo Aplicaciones de usuario de confianza bajo 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 ASPNET Simple Service.

    • 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 http://localhost:8000/Service.

    • En Dirección URL de retorno, escriba la dirección URL a la que ACS devuelve el token de seguridad. Para este ejercicio, escriba http://localhost:8000/Service.

    • En URL del error (opcional), escriba la dirección URL en 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 SWT. Para más información acerca de los tokens y los formatos de los tokens, vea Formatos de token admitidos en ACS y “Formato de token” 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 más información sobre la vigencia de los tokens, vea “Directiva de cifrado de tokens” en Aplicaciones de usuario de confianza.

    • En Proveedores de identidades, puede seleccionar los proveedores de identidades que se van a usar con esta aplicación de usuario de confianza.

      No obstante, para este ejercicio, no se usan proveedores de identidades, el cliente obtiene acceso al servicio web con una identidad de servicio, así que asegúrese de desactivar la casilla junto a Windows Live ID.

      Para más información sobre las identidades de servicio, vea Identidades de servicio.

    • 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 más información acerca de los grupos de reglas, vea Grupos de reglas y reglas.

    • En Configuración de firma de token, en Clave de firma de token, haga clic en el botón Generar para generar una clave simétrica de 256 bits para este usuario de confianza.

  4. Haga clic en Guardar.

Las reglas determinan cómo se pasan las notificaciones desde los proveedores de identidades o ACS (si ACS es el emisor de las notificaciones) hacia su aplicación de usuario de confianza. Para obtener más información acerca de las reglas y los grupos de reglas, vea Grupos de reglas y reglas.

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

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

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

  4. En la página Agregar regla de notificación, haga lo siguiente:

    • En la sección Si, bajo Emisor de notificaciones, seleccione Servicio de control de acceso.

    • En la sección Si, bajo Tipo de notificación de entrada, deje la selección predeterminada Cualquiera.

    • En la sección Si, bajo Valor de notificación de entrada, deje la selección predeterminada Cualquiera.

    • En la sección Entonces, bajo Tipo de notificación de salida, seleccione Escribir tipo y luego escriba action, ya que es el tipo de notificación que se especifica en el código de la muestra del servicio web ASP.NET que usa en este ejercicio: requiredClaimType = “action”. Puede buscar esta cadena en el código de ejemplo, en Default.aspx.cs, bajo acs\WebServices\ASPNETSimpleService\Service.

    • En la sección Entonces, bajo Valor de notificación de salida, seleccione Escribir valor y luego escriba reverse, ya que es el tipo de notificación que se especifica en el código de la muestra del servicio web ASP.NET que usa en este ejercicio: requiredClaimValue = “reverse”. Puede buscar esta cadena en el código de ejemplo, en Default.aspx.cs, bajo acs\WebServices\ASPNETSimpleService\Service.

    • Haga clic en Guardar.

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

En el ejercicio descrito en este tema, el cliente solicita un token web sencillo (SWT) emitido por ACS a ACS con un nombre de usuario y una contraseña registrados y administrados por ACS, en otras palabras, una identidad de servicio de ACS. En esta sección se describe cómo configurar una identidad de servicio de ACS o cómo configurar credenciales hospedadas por ACS que el cliente pueda usar para solicitar un token a ACS. Para obtener más información, vea Identidades de servicio. Para este ejercicio, establezca el nombre de la identidad de servicio en acssample (el cliente del servicio ASP.NET usa este valor al solicitar un token a ACS) y la contraseña en pass@word1.

  1. En la página de inicio del Portal de administración de ACS, haga clic en Identidades de servicio en el árbol a la izquierda.

  2. En la página Identidades de servicio, haga clic en Agregar.

  3. En la página Agregar identidad de servicio, haga lo siguiente y luego haga clic en Guardar:

    1. En Nombre, escriba acssample.

    2. En Tipo, seleccione Contraseña.

    3. En Contraseña, escriba pass@word1.

    4. No cambie los valores predeterminados Fecha efectiva y Fecha de expiración.

  4. En la página Editar identidad de servicio, haga clic en Guardar.

En esta sección se describe cómo integrar ACS con su servicio ASP.NET de muestra. Para obtener más información, vea Ejemplo de código: Servicio web ASP.NET.

  1. Busque ASPNETSimpleService.sln en la muestra que descargó y ábralo en Visual Studio® 2010.

  2. En Visual Studio 2010, en el Explorador de soluciones, bajo Solución ‘ASPNETSimpleService’, haga doble clic en web.config.

  3. En web.config, escriba el nombre del Espacio de nombres Access Control y la clave de firma de token que configuró en ACS en los pasos anteriores. Para ver la clave de firma de token, haga clic en Certificados y claves en el Portal de administración de ACS.

    El fragmento de código siguiente muestra los elementos del archivo web.config que debe actualizar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Espacio de nombres Access Control name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Guarde el archivo web.config actualizado.

  5. En Visual Studio 2010, en el Explorador de soluciones, bajo Solución ‘ASPNETSimpleService’, haga doble clic en el archivo app.config.

  6. En el archivo app.config, escriba el nombre de su Espacio de nombres Access Control y el nombre de usuario y la contraseña de la identidad de servicio que configuró en ACS en los pasos anteriores. Para ver el nombre de usuario y la contraseña, haga clic en Identidades de servicio en el Portal de administración de ACS.

    El fragmento de código siguiente muestra los elementos del archivo app.config que debe cambiar.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Espacio de nombres Access Control name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="http://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Guarda el archivo app.config actualizado.

En esta sección se describe cómo puede probar la integración entre su servicio web ASP.NET y ACS.

  1. Para ejecutar el servicio ASP.NET, presione F5 en Visual Studio 2010.

  2. Para ejecutar el cliente de servicio web ASP.NET, haga clic con el botón secundario Cliente en el Explorador de soluciones, luego en Depurar y luego seleccione Iniciar nueva instancia.

    Se abre una ventana de línea de comando con el mensaje siguiente: Escriba una cadena para revertir y, a continuación, presione<ENTRAR>.

  3. Escriba la cadena, por ejemplo, hello world! y presione Entrar.

    Si escribió hello world!, debería ver la siguiente respuesta en la aplicación de consola: !dlrow olleh.

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft