2013-09-30 154 views
0

我有兩個文本框(用戶和密碼)和下拉列表(域)來使用Adcive Directory和數據庫對用戶進行身份驗證。現在,當用戶單擊「登錄」按鈕時,他的憑證將在Active Directory中進行檢查,如果該憑證被自動登錄,則下一個方法將檢查用戶是否存在於數據庫中,並檢查其角色。我想刪除登錄頁面並使用Windows身份驗證啓用自動身份驗證。我已經改變了web.config文件和chengedASP.NET Windows +數據庫身份驗證

<authentication mode="Forms"> 
    <forms loginUrl="~/LogIn.aspx" timeout="60" name="AuthCookie"/> 
</authentication> 

<authentication mode="Windows"></authentication> 
<identity impersonate="true"/> 

現在我想知道我可以檢查用戶是否存在於數據庫中,並檢查它的作用是什麼?

謝謝你的回覆。

+0

使用Windows身份驗證將導致您的應用程序查詢Active Directory,而不是您現有的用戶數據庫。 –

+1

你可能不想使用模擬。模擬使工作進程以登錄用戶身份運行,這意味着它將嘗試以windows用戶身份連接到數據庫。除非你定義了允許用戶訪問數據庫的角色,否則這可能不是你想要的。 –

+0

@GarrisonNeely - 我認爲是這樣,但沒有把握。 – ironcurtain

回答

1

您需要實現自己的身份驗證提供程序,該身份驗證提供程序將包裝AD後端和您自己的應用程序的帳戶數據庫。您需要禁用IIS的內置Windows身份驗證提供程序,因爲您的版本將提供要使用的實現。

+0

您可以添加一些代碼嗎? – ironcurtain

+0

@ironcurtain不,不是真的 - 我描述了一種方法。實現取決於你現有的基礎設施,所以我不可能爲它編寫任何代碼,因爲你沒有提供足夠的細節。 – Dai

+0

如果你希望我能提供給你一些細節(例如我已經寫過的代碼)。只要讓我知道什麼會對你最好。謝謝 – ironcurtain