我們使用WCF服務開發了SL4應用程序。 SL應用程序和服務託管在IIS 7中,並且啓用了Windows身份驗證,並禁用了其他所有功能。 在wwroot我有這樣的客戶端訪問策略文件:Silverlight 4&WCF:Windows身份驗證不斷彈出
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
這跨域文件:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
Silverlight的XAP的服務配置看起來像這樣在客戶端節:
<binding name="SilverlightEndpoint" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="TransportCredentialOnly" />
</binding>
....
<client>
<endpoint address="http://app.domain.intern/MyService/MyService.svc"
binding="basicHttpBinding" bindingConfiguration="SilverlightEndpoint"
contract="[interface]" name="SilverlightEndpoint" />
</client>
現在w當我在Internet Explorer中打開我的應用程序時,它提示我輸入我的Windows登錄憑據,之後,一切正常。在我的開發環境中,集成的身份驗證工作並不困難,在訪問我的應用程序之前,我不必輸入憑證。實際上,當我在客戶端配置中有以下端點地址時,集成身份驗證在生產中也起作用:「http:// [servername] /MyService/MyService.svc」。 有誰知道我可以如何獲得我的集成身份驗證?
非常感謝!我花了數小時試圖找出這個問題。在Chrome中,我從未被提示輸入登錄憑據。在IE中訪問我的Silverlight頁面後,系統提示您輸入登錄憑據。將我的服務器別名添加到本地Intranet區域後,該網站開始在Chrome中工作。萬歲! – 2012-02-07 21:16:30