Authentification Windows dans asp.net mvc 3 hébergé sur Windows Azure?

Je migre un site Web intranet ASP.NET MVC 3 vers Windows Azure et DB vers SQL Azure.

Sur site, mon site utilise l’authentification Windows pour authentifier et autoriser l’utilisateur (en plaçant l’atsortingbut AUTHORIZE sur les contrôleurs).

Il serait très gentil de votre part Si vous pouvez me le faire savoir comment s’y prendre.Merci d’avance!

Vous avez deux choix ici:

  1. Utilisez une authentification fédérée et quelque chose comme ACSv2. Cela nécessite un peu de travail pour configurer une partie de confiance, installer ADFS2, etc. Cependant, c’est l’option la plus robuste et la plus pérenne. C’est une très bonne option.
  2. Utilisez quelque chose comme Windows Azure Connect. Cela amènera l’authentification Windows sur le cloud en associant vos instances en cours d’exécution à votre contrôleur de domaine sur site. En effet, vous disposez d’une sorte de VPN entre vos instances de cloud et votre contrôleur de domaine local. Il y a quelques mises en garde à ce modèle aujourd’hui (nécessite l’installation d’un agent sur DC par exemple), mais ce serait à partir d’un sharepoint vue «juste des travaux», le plus simple. À plus long terme, cette option est moins intéressante que l’option 1.

Vous pouvez obtenir plus de détails pour chacun de ces éléments en consultant le kit de formation de la plate-forme Windows Azure .

Je devrais également append que vous n’avez aucune option (aujourd’hui au moins) d’utiliser l’authentification Windows avec SQL Azure. Vous devez utiliser l’authentification SQL là-bas, donc ce dont je parle ici ne s’applique qu’au site Web lui-même.

J’utilise très bien Windows Identity Foundation avec Azure AppFabric Access Control Service pour m’authentifier avec ADFS v2.

Outre l’authentification directe, vous bénéficiez d’une grande souplesse par rapport aux autres revendications, telles que les rôles (qui ne doivent pas nécessairement être uniquement basés sur l’appartenance à un groupe AD).

À mon avis, sa plus grande force est qu’il n’y a pas de canal de communication requirejs entre la plate-forme Azure et votre AD sur site. Tout est fait via le navigateur. Du sharepoint vue de la sécurité, cela signifie que même si n’importe qui peut accéder à votre application, personne ne peut s’y authentifier à moins de pouvoir accéder à votre serveur ADFS. L’access à ce service peut être limité aux clients sur site uniquement ou via VPN, ce qui réduit considérablement la surface d’attaque.

De plus, comme les expériences ADFS n’ont pas besoin d’être exposées à l’extérieur, cela peut grandement simplifier les tâches administratives.

Seule la configuration est nécessaire, ce qui peut sembler un peu un violon au départ, mais c’est assez simple une fois que vous vous en êtes familiarisé. Vous configurez WIF pour utiliser ACS en tant que fournisseur d’identité et créez une partie de confiance dans ACS pour l’application. Ensuite, vous configurez ACS pour utiliser ADFS comme fournisseur d’identité. Vous pouvez configurer WIF pour parler directement à ADFS, mais le niveau d’abstraction supplémentaire de passer par ACS peut être utile.

Une fois que vous avez fait votre configuration, en utilisant l’atsortingbut [Authorize] ‘just works’.

Notez que si vous utilisez les appels Ajax dans vos contrôleurs, vous devrez prendre certaines précautions, car les appels Ajax ne gèrent pas la redirection d’authentification fédérée (ou le shuffle ADFS, comme je l’appelle), mais ce n’est rien. c’est insurmontable.

Globalement, je suis très impressionné par la combinaison de WIF + ACS + ADFS pour une authentification intégrée de Windows transparente.