這是我的場景:ASP.NET Windows身份驗證+服務器總是獲取匿名用戶
我有一個Intranet應用程序。我想讓網絡用戶使用Windows身份驗證功能自動登錄到應用程序。如果用戶不在我的網絡中,我會彈出一個登錄屏幕。
因此,我將身份驗證模式更改爲web.config文件至Windows
。然後,我使用HttpContext.User.Identity
對象來獲取登錄的用戶進入網絡。所以我運行該應用程序到我的本地主機,它的效果很好。
當我將應用程序發佈到服務器中時,當我嘗試自動登錄時,Identity
對象始終爲空。
所以,我嘗試以下步驟:
拒絕匿名用戶。
<deny users="?"/>
,它不允許任何匿名用戶在應用程序中輸入,但我在這裏遇到了一個問題:當用戶不在我們的網絡中時,服務器從Window Server彈出默認的認證窗口,而不是我的個人登錄屏幕。讓匿名用戶。如果我與
<deny users="?"/>
擺脫,任何用戶都可以訪問該頁面,但它總是去的登錄屏幕,即使我到我的本地網絡。
所以,我需要的是:當用戶進入本地網絡時,不用登錄就直奔。如果不是,則彈出一個登錄屏幕給他們。
有人能幫我弄清楚發生了什麼事嗎?
謝謝大家!
這是一個常見問題,您需要根據http://www.wiktorzychla.com/2012/06/iis-75-integrated-security-with-no.html – 2014-09-30 18:22:13