2013-07-19 37 views
1

我已經在iis 8上發佈了我的第一個網站,當我右鍵單擊它並瀏覽時,我可以訪問它。當我在Chrome或IE中輸入我的IP時,我提示輸入我的用戶名和密碼。 Windows身份驗證設置爲true和匿名設置爲false,我的web.config看起來像這樣:如何在沒有用戶名/密碼的情況下使用Windows身份驗證

<configuration> 
    <system.web> 
    <authentication mode="Windows"></authentication> 
    <identity impersonate="true"/> 
    <authorization>  
     <allow users="?"/> 
    </authorization> 
    <compilation debug="true" targetFramework="4.5"/> 
    <httpRuntime targetFramework="4.5"/> 
    </system.web> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false"/> 
    </system.webServer> 
</configuration> 

我不希望我的用戶輸入他們的creds但我希望能有自己的窗戶用戶名在頁面頂部。有什麼我做錯了嗎?

回答

0

這是一個Intranet網絡應用程序嗎?

看看這篇文章,看看它是否幫助: ALL Operations on Active Directory (AD) using c#

否則可以考慮使用一個成員提供(但你確實需要的用戶怎麼設置登錄至少在最初的時間,這取決於)

我相信一旦你在你的web配置中需要Windows驗證,你將需要通過un和pw進行授權。因此,請嘗試使用匿名登錄和文章中描述的一些方法。當它在Windows身份驗證中設置時,它只適用於服務器上的AD,不一定是客戶機。

+0

與匿名,我不要求我的信用。這是一個內聯網應用程序,所以它不應該問我的信譽 –

+0

這很好嗎?聽起來就像那是你以後的樣子。如果這是一個網絡應用程序,我不認爲這是可能的。如果它是Windows應用程序,也許,但我會讓別人回答。由於安全風險,瀏覽器不會顯示客戶端機器的用戶名。如果網站託管在或可以訪問客戶端用戶每天登錄的相同Active Directory,則上述鏈接可能會有所幫助。否則,請認真考慮與數據庫結合使用的成員資格提供程序解決方案(想到SQL + ASPNET成員資格)。 – secretwep

1

如果您打算使用Windows身份驗證,但不希望用戶輸入憑據,則必須限制用戶使用IE,並且您必須確保識別出該網站的地址作爲一個Intranet站點 - 只有這樣IE纔會在挑戰時自動發送當前用戶的Windows憑據。據我所知,其他瀏覽器都沒有在Windows平臺上支持這個功能(儘管可能有插件)。

This knowledge-base article可能有用 - 簡而言之,您可以確保您的站點的地址添加到您的用戶Intranet區域,然後憑證將自動提供。

如果這是一個AD環境,您可以讓域管理員將地址添加到組策略中,以便爲所有用戶推出。

相關問題