這是之前發佈的關於無法模擬當前登錄的Windows用戶的後續內容。有很多好的建議,但前面的線程變得混亂,所以我正在重置這篇文章。希望下面記錄的當前狀態顯而易見問題是什麼。這是一條很破舊的路徑,所以我必須相信我所缺少的只是一點配置步驟。ASP.NET模擬問題(第2部分)
問題:我需要ASP.NET模擬當前登錄的用戶。當我在IIS 7.5下運行時,它不起作用。 IIS Express工作正常,但我相信這是因爲調試會話正在我的用戶標識下運行。
我正在使用Environment.Username
來確定此用戶是誰。有人建議這個屬性總是返回登錄的用戶名,但是從我的測試中它返回了來自IIS的模擬用戶。
例如,如果我的web.config有...
<identity impersonate="true" />
當我IIS 7.5下運行與設置,Environment.Username
回報IUSR。我相信這是IIS匿名用戶帳戶。
如果我改變web.config中......
<identity impersonate="true" userName="domain\jlivermore" password="mypassword" />
...然後Environment.Username返回jlivemore。但是,我需要它返回jlivermore而沒有明確地在web.config中設置它。
這裏是我的IIS設置...
.NET授權規則
認證
一個問題,如果我禁用匿名身份驗證,然後我提示登錄到現場。我認爲如果您是通過域上的Active Directory帳戶登錄的,那麼這個挑戰不會出現?即使我在這個提示中輸入了我的用戶名/密碼,我仍然沒有得到模擬的工作。
基本設置
是的,掙扎返回與Environment.Username相同的名稱。 – 2011-05-21 13:41:30