web-dev-qa-db-fra.com

Authentification Windows intégrée (NTLM) sur un Mac utilisant Google Chrome ou Safari

Un site intranet IIS7 avec l'authentification Windows activée. Lorsque vous utilisez Google Chrome sous Windows, l’authentification unique fonctionne correctement (aucune invite Utilisateur/Mot de passe), cependant, sur un Mac, Chrome reçoit une invite. Étant donné que le réseau interne utilise CAC/PKI, personne n’a de mot de passe.

J'ai essayé de basculer l'authentification Windows sur le site pour négocier, mais le même utilisateur/passer invite.

appcmd set config /section:windowsAuthentication /-providers.[value='Negotiate']

Quelqu'un connaît-il une solution pour Chrome sous OS X?

EDIT 

OS X 10.6.8

Centrify pour Mac sera utilisé pour s’authentifier sur le réseau (Windows 2008 R2 ActiveDirectory) via CAC.

EDIT 2

Il existe une configuration de proxy, mais elle est ignorée pour les sites intranet locaux. Je ne pense donc pas que cela joue un rôle.

Également essayé d'utiliser le commutateur --auth-server-whitelist ligne de commande, n'a pas fonctionné.

EDIT 3

SOLUTION

open 'Google Chrome.app' --args --auth-server-whitelist="*DOMAIN.TLD" --auth-negotiate-delegate-whitelist="*DOMAIN.TLD" --auth-schemes="digest,ntlm,negotiate"

Malheureusement, Google Chrome pour Mac ne dispose d'aucun moyen de spécifier des arguments de ligne de commande à chaque chargement. Il est donc nécessaire de créer un script Shell.

L'exécution du script Shell suivant lors de la connexion était la solution finale pour contourner les mises à jour de Chrome et les icônes de documentation supplémentaires.

#!/bin/bash
cd /Applications/Google\ Chrome.app/Contents/MacOS/
if [ -f 'Google Chrome.bin' ];
then
   echo "Already Modified"
else
   Sudo chmod u+wr ./
   Sudo mv 'Google Chrome' 'Google Chrome.bin'
   Sudo echo "#!/bin/bash" > "Google Chrome"
   Sudo echo 'exec /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome.bin --args --auth-server-whitelist="*DOMAIN.TLD" --auth-negotiate-delegate-whitelist="*DOMAIN.TLD" --auth-schemes="digest,ntlm,negotiate"' >> "Google Chrome"
   Sudo chmod a+x 'Google Chrome'
   echo "NTLM Will now work in chrome"
fi
13
Louis Ricci

Ce n'est pas un bug pour le moment. La version Mac de Chrome ne prend tout simplement pas en charge/respecte les règles Kerberos (authentification Windows "Négocier") à moins que le domaine ne soit sur la liste blanche et que le navigateur ne soit lancé à partir de la ligne de commande. Voir ce lien posté le 31/10/2011:

http://code.google.com/p/chromium/issues/detail?id=102339

Il semble toutefois que vous puissiez peut-être mettre en liste blanche un domaine de façon permanente:

http://www.google.com/support/forum/p/Chrome/thread?tid=592eb87350d9d528&hl=fr


Comme vous avez déjà essayé le commutateur de la liste blanche, j’ai regardé de plus près et c’est une affaire d’OSX ... 10.7 est nécessaire pour que le commutateur fonctionne correctement avec Chrome. Votre version 10.6 ne fonctionnera pas sans un outil tiers, tel que Centrify.

Pas une réponse heureuse, mais la vérité. 

4
one.beat.consumer

Il semble que nous pouvons faire la configuration suivante dans Terminal,

$ defaults write com.google.Chrome AuthServerWhitelist "*.example.com"
$ defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*.example.com"
$ defaults write com.google.Chrome AuthSchemes "digest,ntlm,negotiate"
2
yuanli

defaults write com.google.Chrome AuthServerWhitelist '<your domain>' autorisera kerberos de manière permanente sur un serveur ou un ensemble de serveurs (* .mydomain.local).

1
mentat
0
edwardsharp