2014-09-30 39 views
0

這是我的場景:ASP.NET Windows身份驗證+服務器總是獲取匿名用戶

我有一個Intranet應用程序。我想讓網絡用戶使用Windows身份驗證功能自動登錄到應用程序。如果用戶不在我的網絡中,我會彈出一個登錄屏幕。

因此,我將身份驗證模式更改爲web.config文件至Windows。然後,我使用HttpContext.User.Identity對象來獲取登錄的用戶進入網絡。所以我運行該應用程序到我的本地主機,它的效果很好。

當我將應用程序發佈到服務器中時,當我嘗試自動登錄時,Identity對象始終爲空。

所以,我嘗試以下步驟:

  1. 拒絕匿名用戶。 <deny users="?"/>,它不允許任何匿名用戶在應用程序中輸入,但我在這裏遇到了一個問題:當用戶不在我們的網絡中時,服務器從Window Server彈出默認的認證窗口,而不是我的個人登錄屏幕。

  2. 讓匿名用戶。如果我與<deny users="?"/>擺脫,任何用戶都可以訪問該頁面,但它總是的登錄屏幕,即使我到我的本地網絡。

所以,我需要的是:當用戶進入本地網絡時,不用登錄就直奔。如果不是,則彈出一個登錄屏幕給他們。

有人能幫我弄清楚發生了什麼事嗎?

謝謝大家!

+0

這是一個常見問題,您需要根據http://www.wiktorzychla.com/2012/06/iis-75-integrated-security-with-no.html – 2014-09-30 18:22:13

回答

0

執行以下操作,

<identity impersonate="true" /> 
<authentication mode="None" /> 
<authorization> 
    <deny users="?" /> 
</authorization> 

希望它能幫助。

+0

幾乎檢查您的配置。我已將模擬器更改爲「true」,並僅使用了<'標籤。更新你的答案,以便我可以接受它。 – Kiwanax 2014-10-01 12:03:54

+0

@Kiwanax完成。謝謝 :) – Rex 2014-10-01 13:15:03

相關問題