Интегрированная аутентификация Windows (NTLM) на Mac с использованием Google Chrome или Safari - PullRequest
13 голосов
/ 23 декабря 2011

Сайт IIS7 Intranet с включенной аутентификацией Windows.При попадании из Chrome в Windows, сквозная аутентификация работает нормально (без запроса User / Password), однако, Chrome на Mac вы получаете приглашение.Так как во внутренней сети используется CAC / PKI, ни у кого нет пароля.

Я пытался включить проверку подлинности Windows на сайте для согласования, но тот же запрос пользователя / пароля.

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

Кто-нибудь знает решение для Chrome на OS X?

EDIT

OS X 10.6.8

Centrify для Mac будет использоваться для аутентификации на(Windows 2008 R2 ActiveDirectory) сеть через CAC.

РЕДАКТИРОВАТЬ 2

Существует настройка прокси, но она обойдена для локальных сайтов интрасети, поэтому я недумаю, что это играет роль.

Также попытался использовать ключ командной строки - auth-server-whitelist , не работал.

EDIT 3

РЕШЕНИЕ

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

К сожалению, Google Chrome для Mac не имеет возможности указывать аргументы командной строки при каждой загрузке, поэтому потребуется какой-то сценарий оболочкибудет сделано.

Выполнение следующего сценария оболочки при входе в систему было окончательным решением для обхода Chroмне обновления и дополнительные значки документов.

#!/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

Ответы [ 4 ]

4 голосов
/ 31 декабря 2011

На данный момент это не ошибка. Версия Chrome для Mac просто не поддерживает и не уважает политики Kerberos («согласовать» проверку подлинности Windows), если домен не внесен в белый список и браузер не запущен из командной строки. Смотрите эту ссылку, размещенную 31.10.2011:

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

Похоже, что вы можете навсегда занести в белый список домен:

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


Поскольку вы уже опробовали переключатель белого списка, я посмотрел поближе, и это вещь OSX ... 10.7 необходимо для корректной работы переключателя с Chrome. Ваша версия 10.6 не будет работать без стороннего инструмента, такого как Centrify.

Не счастливый ответ, но правда.

2 голосов
/ 03 февраля 2017

Кажется, мы можем выполнить следующую конфигурацию в терминале,

$ 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"
1 голос
/ 28 июня 2013

defaults write com.google.Chrome AuthServerWhitelist '<your domain>' будет постоянно разрешать Kerberos на сервер или набор серверов (* .mydomain.local).

0 голосов
/ 29 декабря 2011

Какая версия Chrome?Это была активная ошибка, убедитесь, что у вас последняя версия.Должно работать ...

http://chromium.googlecode.com/issues/attachment?aid=-4050060571219819368&name=Prompt.png&token=NHQTVDWyO_jUXxWmvuzGnGer2sc%3A1325131426103&inline=1

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

...