在我的ASP.net Web應用程序中,在用戶通過表單身份驗證進行身份驗證之後,我試圖讀取用戶名稱從HttpContext.Current.User.Identity.Name
。ASP.net:HttpContext.Current.User.Identity.Name在IIS 7.5中爲空,但不在IIS Express上
當我在運行IIS Express的個人計算機上運行這個功能時,它工作得很好。當我在IIS 7.5下的服務器上運行它時,此表達式始終評估爲string.Empty
。
這是爲什麼,它如何被緩解?
注意:這不是「HttpContext.Current.User.Identity.Name is Empty」的重複,因爲這個問題是關於內置到Visual Studio中的Web服務器。
注2:在我的情況下匿名訪問尚未關閉。如果這確實是問題的原因,請你解釋爲什麼?
謝謝!任何想法爲什麼在IIS Express中起作用? – urig
我認爲它已經擁有憑據,因爲它在本地運行。 – oppassum
獲取登錄用戶信息的正確方法是通過「Page.User」或「Controller.User」。此外,IIS和IIS Express不同,https://blog.lextudio.com/2015/04/web-application-differences-in-visual-studio-and-iis/ –