Bonjour,
Je cherche déséspérement à comprendre les processus d'identification proposé par dotNET.
Je vais essayer d'expliquer mon problème, en espérant que quelqu'un saura me répondre.
Dans ma société cohabitent 2 actives Directory disctincts (pas dans la même forêt). Les utilisateurs des 2 AD doivent pouvoir accèder à une application ASP.NET 2.0 (en C#).
Cette application doit accèder à des ressources réseau, et pour cela il a été décidé d'utiliser un pool d'application s'exécutant avec un compte de domaine (du premier domaine).
De plus, l'application doit demander son login/mot de passe à l'utilisateur et interroger l'AD pour valider sa saisie (cette réidentification est imposée pour des raisons de sécurité).
Dans un premier temps, un accès avec un mode d'autenthification Windows a été utilisé. Dans cette configuration, la fenêtre de connection ne pouvait accèder aux 2 AD qu'à la condition que l'utilisateur défini pour le pool d'application soit un utilisateur local (ce qui empêche de définir des accès à des ressources réseaux à cet utilisateur).
Et lorsqu'un compte de domaine est utilisé pour le pool d'application, les demande d'identification au deuxieme domaine reviennent systématiquement en erreur.
Dans un deuxième temps, un mode d'authentification de type formulaire a été mis en place, sans rien changer d'autre. Et dans ce cas là, l'application peut interroger les 2 AD, même si le compte du pool d'application est le compte de domaine.
Les tests nous ont montré que l'application s'exécutait bien avec le compte du pool d'application (impersonation=false).
Bref, mon problème est que je n'arrive pas à expliquer pourquoi cela fonctionne dans le deuxième cas, et pas dans le premier ?
Lorsque la page d'autentification s'execute et interroge l'AD, quel utilisateur effectue concretement cette demande ? le compte défini au niveau du pool d'application ?
Merci par avance pour tout aide.
Partager