2011-12-23 206 views
13

的IIS7内部网站使用Windows身份验证功能。当从Chrome中打在窗户直通认证工作正常(无用户/密码提示),但是,Chrome浏览器在Mac上,你得到一个提示。由于内部网络使用CAC/PKI,因此没有人拥有密码。集成Windows身份验证(NTLM)在Mac上使用谷歌Chrome或Safari

我已经试过了现场洽谈在切换的Windows身份验证,但相同的用户名/密码的提示。

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

任何人都知道在OS X上的Chrome的解决方案?

EDIT

OS X 10.6.8

Centrify公司的Mac将被用于验证到(视窗2008 R2的ActiveDirectory)经由网络CAC。

EDIT 2

有一个代理设置,但它被绕过本地Intranet网站,所以我不认为这是起了一定作用。

还尝试使用--auth-server-whitelist命令行开关,没有工作。

编辑3

SOLUTION

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

不幸的是谷歌Chrome浏览器的Mac没有对每一个加载指定命令行参数的方式,所以某种shell脚本将需要进行。

运行在日志下面的shell脚本是最后的解决办法绕过Chrome的更新和额外的文档图标。

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

你不提供对Mac电脑在网络上如何鉴别足够的信息......有几个依赖关系 - 比如你哪个版本的OSX正在使用等 - 在目前的状态你的问题不能回答:-( – Yahia 2011-12-27 13:51:13

+0

@Yahia - 我更新了问题,希望现在可以回答,而无需做出假设 – 2011-12-27 14:20:22

+0

从我收集你想要的东西可能是但是为了安全起见,我强烈建议询问Centrify供应商 - 可能他们有某种“Web应用程序的单点登录模块”来帮助实现这一目的ation ... – Yahia 2011-12-27 14:36:57

回答

4

这不是此刻的错误。 Chrome的Mac版根本不支持/对于Kerberos策略(“协商” Windows身份验证),除非域名白名单和命令行打响了浏览器。请参阅此链接发布10/31/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来说是必要的。没有像Centrify这样的第三方工具,您的10.6版本将无法正常工作。

不是一个快乐的答案,但事实。

0
+0

lol旁注,NTLM代码来自mozilla! http://src.chromium.org/viewvc/chrome/trunk/src/net/http/http_auth_handler_ntlm.h?view=markup&pathrev=10667 – edwardsharp 2011-12-29 04:11:28

+0

这是最新版本的Chrome(自动更新)。它不适用于我的问题中的OSX + Centrify配置。 – 2011-12-29 12:13:11

1

defaults write com.google.Chrome AuthServerWhitelist '<your domain>'将永久允许kerberos到一台服务器或一组服务器(* .mydomain.local)。

1

似乎我们可以做在终端下面的配置,

$ 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"