Voici l'installation :

  • Un contrôleur de domaine sur Windows Server 2008.
  • Un Windows Server 2008 avec IIS 7 qui appartient au domaine.
  • Un Windows Server 2003 avec IIS 6 qui appartient au domaine.
  • Un client (XP, Vista ou Seven) qui appartient au domaine.


Voici mon protocole de test :
  • Authentification d’un utilisateur du domaine sur le serveur 2003 + IIS6. L’authentification fonctionne.
  • Authentification d’un utilisateur du domaine sur le serveur 2008 + IIS7. L’authentification ne fonctionne pas.
  • Authentification d’un utilisateur du serveur même (serveur 2008 + IIS7 -> le même que précédemment). L’authentification fonctionne.


Voici la configuration de IIS7 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 <windowsAuthentication enabled="true">
    <providers>
       <add value="NTLM" />
    </providers>
</windowsAuthentication>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 <location path="Default Web Site/">
        <system.webServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                    <windowsAuthentication enabled="true" />
                </authentication>
            </security>
        </system.webServer>
    </location>
Dans le site de test j'essaye de récupérer le nom de l'utilisateur avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ICredentials ic = CredentialCache.DefaultCredentials;
string userNameCredential = ic.GetCredential(this.Context.Request.Url, "NTLM").UserName;
Seul le compte d'administrateur de la machine 2008 sur laquelle se trouve le site passe pour s'authentifier au site.

Pour résumé : Comment s'authentifier sur un site qui se trouve sur IIS7 en utilisant un compte du domaine ?

merci