Estoy utilizando con éxito Windows Identity Foundation con el servicio de control de acceso de Azure AppFabric para autenticar utilizando ADFS v2.
Además de la autenticación directa, le ofrece mucha flexibilidad sobre otros reclamos, como los roles (que no necesitan basarse únicamente en la pertenencia al grupo AD).
En mi opinión, su mayor fortaleza es que no se requiere un canal de comunicación entre la plataforma Azure y su AD in situ. Todo se hace a través del navegador. Desde una perspectiva de seguridad, esto significa que, aunque cualquiera puede acceder a su aplicación, nadie puede autenticarse a menos que también pueda llegar a su servidor ADFS. El acceso a esto puede restringirse solo a los clientes locales o a través de VPN, reduciendo en gran medida la superficie de ataque.
Además, debido a que ADFS no necesita exponerse externamente, en mi experiencia puede aliviar en gran medida la carga burocrática de su implementación.
Solo se requiere configuración, que aunque puede ser un poco un violín inicialmente, es bastante sencillo una vez que hay que lidiar con ello. Configura WIF para usar ACS como su Proveedor de Identidad y crea una Parte que Confía en ACS para la aplicación. Luego, configura ACS para usar ADFS como su proveedor de identidad. Puede configurar WIF para hablar directamente con ADFS, pero el nivel adicional de abstracción de ir a través de ACS puede ser útil.
Una vez que haya realizado su configuración, usar el atributo [Autorizar] 'simplemente funciona'.
Tenga en cuenta que si utiliza llamadas Ajax en sus controladores, deberá tomar algunas precauciones, ya que las llamadas Ajax no manejan la redirección de autenticación federada (o la combinación aleatoria ADFS, como me gusta llamarlo) , pero no es nada que sea insuperable.
En general, estoy muy impresionado con la combinación de WIF + ACS + ADFS para la autenticación integrada transparente de Windows.
Por lo que entiendo, necesita implementar Autenticación federada - http://msdn.microsoft.com/en-us/gg557889 –
Gracias, John, me estaba refiriendo a la misma url. Pero estoy trabajando en MVC 3.So no hay nada como Page_Load Tenemos controladores Así que ¡La misma estrategia no funciona! –