Compartir a través de


Mi primera aplicación con Access Control de AppFabric

A continuación podrá verse de forma detallada un ejemplo sencillito que muestra cómo crear una aplicación web que hace uso de Access Control y que emplea Windows Live ID para la autenticación  de usuarios.

En el ejemplo se ha empleado Visual Studio 2010, Windows Identity Foundation y Windows Identity Foundation SDK.

El primer paso a realizar debe ser crear un namespace de AppFabric en la cuenta de Windows Azure, para disponer de un servicio de Access Control.


Figura 1.- Crear namespace

Una que vez está creado el namespace, es posible entrar en la administración de “Access Control” y seleccionar la opción “Administrar”. 

A través de esta pantalla se podrá configurar todos los aspectos que se necesitan para securizar la comunicación. En el ejemplo se realizan los siguientes pasos:

  • Configurar los proveedores de identidad; Windows Live, Google, Facebook, Active Directory…
  • Dar de alta la aplicación a securizar (Relaying Party).
  • Definir las reglas de AppFabric.
  • Añadir los certificados necesarios para la encriptación y firmado.


Figura 2.- Configuración de Access Control

Seleccionar los proveedores de identidad. En este ejemplo se empleará Windows Live ID y Google.


Figura 3.- Añadir proveedores de identidad

Dar de alta la aplicación dentro de Access Control. En el campo Realm y Return URL debe indicarse la URL dónde está la aplicación Web.

En un caso real nunca debería contener la "localhost" la URL. En este ejemplo, URI será la que genera Visual Studio al arrancar la aplicación en modo depuración (F5).


Figura 4.- Configurar Relaying Party.

Una vez dada de alta la aplicación, deben crearse las reglas. Por simplificar, en este punto no se ha incluida ninguna regla y se usan las que la propia aplicación genera para los proveedores de identidad seleccionados.


Figura 5.- Reglas de Access Control

En la sección de certificados será necesario añadir la clave privada (*.pfx) de un certificado. En la propia pantalla de administración se indica como generar un certificado de prueba.

Hay que da de alta una entrada para la firma y otra para la encriptación.


Figura 6.- Certificados


Figura 7.- Certificados

Una vez se ha terminado los pasos anteriores, ya es posible crear una aplicación web y configurarla para que utilice Access Control.

Al crear el proyecto puede ser buena práctica establecer un puerto fijo en la configuración del proyecto, para que sea el mismo que se ha configurado al dar de alta la “Relaying Party”.

Una vez esto, será necesario añadir la referencia al STS (Secure Token Service), que en este caso es Access Control.


Figura 8.- Añadir la referencia a STS.

Se indica la ruta dónde se encuentra el fichero de la aplicación y se indica la URI de la aplicación, la misma que se configurado en el Relaying Party.


Figura 9.- Añadir la referencia a STS

Dentro del portal de Windows Azure se indica la información necesaria para conectarse a Access Control. Entre esa información se encuentra al URI que debemos emplear para acceder a la información de WS-Federation. Este URL es necesario para dar el alta el STS en la aplicación web.


Figura 10.- Información de Access Control


Figura 11.- Añadir la referencia a STS


Figura 12.- Añadir la referencia a STS


Figura 13.- Añadir la referencia a STS


Figura 14.- Añadir la referencia a STS

Por último, antes de ejecutar la aplicación será necesario establecer el siguiente valor en el fichero de configuración de la aplicación Web:

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

Al ejecutar la aplicación web, se mostrará una ventana como la siguiente, dónde se puede elegir el proveedor de identidad que quiere emplearse para la validación. Esta pantalla muestra los proveedores configurados anteriormente. 


Figura 15.- Seleccionar proveedor de identidad

Si por ejemplo se selecciona Windows Live ID, se mostrará la pantalla de validación usuarios de Windows Live, dónde el habrá que autenticarse usando un usuario de Windows Live ID. Una vez validado con el usuario de Live ID, se podrá acceder a la aplicación.