Question

Nous avons correctement configuré IIS pour faire face à 2 instances Tomcat à l'aide de isapi_redirect.dll. Il fait tout intelligemment et nous sommes très heureux. À présent, cependant, nous utilisons l’une des instances de Tomcat pour servir des services Web via AXIS. Cela nécessite une autorisation BASIC, et les clients .NET échouent.
Les clients + .NET peuvent contourner IIS en naviguant sur le "site: 8180". et ils vont bien
+ Les clients Java peuvent utiliser IIS et ISAPI les transmet et s’authentifient parfaitement à l’aide de base.
+ Les clients .NET qui ont touché IIS ne parviennent pas à s’authentifier avec le même fichier unpw.

Fiddler rapporte cette session:
    HTTP / 1.1 401 non autorisé
    Date: mercredi 07 janvier 2009 14:31:59 GMT
    Serveur: Microsoft-IIS / 6.0
    WWW-Authenticate: NTLM
    X-Powered-By: ASP.NET
    Pragma: pas de cache
    Cache-Control: no-cache
    Expire le: mercredi 31 décembre 1969 19:00:00 EST
    WWW-Authenticate: Basic realm = " Module de contrôle quotidien "

    Content-Type: text / html; charset = utf-8

    Content-Length: 954
    Proxy-Support: Authentification basée sur la session

Il ouvre ce qui ressemble à une boîte de dialogue d'authentification de base, mais au lieu de nous demander d'authentifier contre Daily Control Module, il nous demande d'authentifier contre le serveur Windows. Et bien sûr, le serveur IIS demande une autorisation NTLM. Si je configure le serveur entier pour utiliser l'authentification de base, je reçois ceci de Fiddler:
    HTTP / 1.1 401 non autorisé
    Content-Length: 1656
    Type de contenu: text / html
    Serveur: Microsoft-IIS / 6.0
    WWW-Authenticate: Basic realm = " serverName "

    X-Powered-By: ASP.NET
    Date: mercredi, 07 janvier 2009 à 15:08:32 GMT

Soupir. De base, mais le domaine de base est maintenant remplacé par le serveur IIS. Donc, si je configure le serveur entier pour s’authentifier sur le royaume de base, le module de contrôle quotidien, j’obtiens ceci:
    HTTP / 1.1 401 non autorisé
    Date: mercredi 07 janvier 2009 15:11:45 GMT
    Serveur: Microsoft-IIS / 6.0
    WWW-Authenticate: Basic realm = " Module de contrôle quotidien "

    X-Powered-By: ASP.NET
    Pragma: pas de cache
    Cache-Control: no-cache
    Expire le: mercredi 31 décembre 1969 19:00:00 EST
    WWW-Authenticate: Basic realm = " Module de contrôle quotidien "

    Content-Type: text / html; charset = utf-8

    Longueur du contenu: 954

Bizarre avec les deux en-têtes WWW-Auth, non? Quoi qu'il en soit, l'authentification à l'aide du même fichier unw fonctionnant directement sur Tomcat échoue, que je spécifie le domaine ou non.

À l'heure actuelle:
+ Anon est éteint
+ L'authentification Windows intégrée est désactivée
+ L'authentification de base est activée, le royaume étant configuré comme module de contrôle quotidien

Merci d'avoir regardé.

Était-ce utile?

La solution

Quelle est la configuration de la sécurité du répertoire?

Êtes-vous sûr que seule l'authentification de base est activée?

Un autre point est. Peut-être qu'au niveau IIS, vous devriez utiliser l'authentification anonyme. Et Tomcat s’occupe de l’implémentation de l’échange d’authentification de base?

La source du problème (à partir de l'en-tête que vous avez posté) est que le client .net reconnaît que le site prend en charge l'authentification ntlm. Et essayez de vous authentifier avec ce protocole. Le client java ignore simplement l'option ntlm afin d'utiliser tout autre protocole d'authentification pris en charge par le site.

Assurez-vous que l'authentification intégrée n'est pas activée au niveau du site et du fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top