2015-04-01 84 views
1

我的服務器上有一個使用WindowsAuthentication登錄的asp.net應用程序。該方案很簡單:用戶登錄後,將使用相同的憑據登錄應用程序。獲取當前登錄的用戶IIS返回DefaultAppPool

當然,在我的機器上的IISExpress上工作很好,但是當我嘗試在服務器上登錄應用程序時,返回的當前用戶是DefaultAppPool

我想這是IIS上缺少的模擬配置。我試圖讓當前用戶:

string username = HttpContext.Current.Request.LogonUserIdentity.Name; 
string username = WindowsIdentity.GetCurrent().Name; 

...和所有的上述返回當前用戶的loggedIn但只適用於IISExpress,但不能在服務器IIS。

IIS快遞配置
默認應用
- 框架4.0版
- 應用程序池標識

應用程序驗證配置
Application Authentication Config

服務器信息
的Windows 2008 R2企業
IIS 7.5

PD:是不是我最好的英語

+0

哪些IIS服務器上的設置。你有禁止匿名訪問?此外,如果這是在Intranet上,爲了將證書從瀏覽器傳遞到服務器,我相信該網站需要被信任。 – 2015-04-01 22:33:59

+0

@TrajanUnger IIS配置現在有問題。現在我需要獲取開始請求的用戶,但仍保留_DefaultAppPool_用戶。 – 2015-04-03 15:55:57

回答

1

我也有類似的問題;據我可以告訴它,是因爲在web.config文件需要具有以下項:

<authentication mode="Windows" /> 
    <identity impersonate="true" /> 

而且在Internet信息服務(IIS)管理器中的IIS /驗證部分,確保僅匿名身份驗證和Windows身份驗證已啓用。我錯誤地檢查了ASP.NET模擬,它給了我你在這篇文章中描述的同樣的錯誤。一旦我禁用了(與其他修改一起),它似乎工作正常。

感謝, 基南

相關問題