2011-10-27 59 views
1

在部署在企業內部網我的ASP.NET應用程序中,我使用這樣的事情在一個Web服務來獲得當前用戶的Windows登錄:無法獲取用戶的Windows登錄名?

string user = User.Identity.Name.ToString(); 

,並增加了以下我Web.config文件:

<system.web> 
    <authentication mode="Windows" /> 
    <identity impersonate="false" /> 
</system.web> 

這適用於我在本地部署我的網站但在發佈它並使用實際URL(而非本地主機)訪問它時不起作用。我錯過了什麼嗎?我想獲取當前訪問我的網站的用戶的Windows登錄名。有什麼建議麼?

回答

1

您的服務實際上是否有任何驗證要求?大多數服務需要一些協商來進行認證(例如,如果它是SOAP或通過HTTP頭傳遞等)。

你用什麼客戶端來執行服務調用?如果瀏覽器處於可信連接(如內部網或本地主機)中,則它可以傳遞Windows憑據,但如果您從瀏覽器調用不受信任的域上的服務或使用其他客戶端,則需要以不同的方式傳遞憑據。

+0

我的服務並不嚴格需要驗證服務。我正在使用它來填充提交表單中的字段。我正在使用通過瀏覽器訪問的ASP頁面。我將研究不受信任的域問題,因爲我正在從同一個域中的計算機訪問URI。 – Legend

3

是否在IIS中設置了Windows身份驗證?

您可能需要在IIS中設置基本和Windows身份驗證的組合才能使其正常工作。

相關問題