2011-08-01 17 views
9

Estoy migrando un sitio web de intranet ASP.NET MVC 3 a Windows Azure y de DB a SQL Azure.Autenticación de Windows en asp.net mvc 3 alojado en Windows Azure?

En las instalaciones, mi sitio usa Autenticación de Windows para autenticar y autorizar al usuario (Al colocar el atributo AUTHORIZE en los controladores).

Sería muy amable de su parte si me puede decir cómo hacerlo. ¡Gracias por adelantado!

+0

Por lo que entiendo, necesita implementar Autenticación federada - http://msdn.microsoft.com/en-us/gg557889 –

+0

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! –

Respuesta

6

Usted tiene dos opciones aquí:

  1. Uso de autenticación federada y algo así como ACSv2. Esto requiere un poco de trabajo para configurar una parte confiable, instalar ADFS2, etc. Sin embargo, es la opción más robusta y a prueba de futuro. Es una muy buena opción.
  2. Use algo como Windows Azure Connect. Esto llevará la autenticación de Windows a la nube al unir sus instancias en ejecución a su controlador de dominio local. En efecto, tiene algo así como una VPN entre sus instancias de la nube y su controlador de dominio local. Hay algunas advertencias para este modelo hoy en día (requiere la instalación de un agente en DC, por ejemplo), pero sería desde un punto de vista 'simplemente funciona', el más fácil. A más largo plazo, creo que es menos atractivo que la opción n. ° 1.

Puede obtener más detalles para cada uno de estos revisando el Windows Azure Platform Training Kit.

Debo añadir que no tiene opción (hoy al menos) de usar la Autenticación de Windows con SQL Azure. Debe utilizar la autenticación SQL allí, entonces lo que estoy hablando aquí solo se aplica al sitio web en sí.

+0

Su enlace está muerto –

4

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.

+0

Muchas gracias Por la explicación. Soy muy nuevo en MVC 3 y Windows Azure. Así que si puede proporcionar enlaces fewe que me pueden ayudar a hacer lo mismo. –

+0

Verifique el enlace que publiqué en mi respuesta original. Hay laboratorios allí que muestran cómo configurar la identidad federada en Windows Azure. Los laboratorios adicionales (no necesariamente vinculados a Windows Azure) se encuentran en el Kit de capacitación de identidad. – dunnry

+0

Gracias Está funcionando ahora :) –

Cuestiones relacionadas