2012-04-12 195 views
4

我們正在爲我們的Intranet站點使用窗體身份驗證,並希望允許用戶通過Windows身份驗證進行身份驗證。這將如何影響當前用戶帳戶,配置文件和角色。我在網絡上看到,我可以混合使用兩種認證類型,並將角色和配置文件放入單獨的數據庫中,但如何將現有的角色和配置文件分配與Windows認證用戶登錄關聯起來?從窗體身份驗證轉換爲Windows身份驗證

+0

Active Directory?與表單身份驗證並行工作得很好。 – IrishChieftain 2012-04-12 21:52:39

+0

是的,AD,但問題不在於它們是否可以並排存在,而是如何從一個轉換到另一個。 – yougotiger 2012-04-13 00:01:56

回答

0

終於回來回答這個問題。我們實際上報廢了我們在表單身份驗證中所擁有的內容。角色與Windows身份驗證的工作方式完全不同,配置文件也一樣。我們使用了自定義配置文件提供程序而不是內置配置文件提供程序如果有人對我們所做的事情感興趣,我會彙總一系列四篇博客文章,詳細介紹我們在我們的環境中所做的工作以及我們遇到的一些小問題:Part 1,Part 2,Part 3Part 4

3

我不確定您是否可以完全按照您的要求進行操作,但是您可以使用這種方法進行編碼,您可以編寫需要經過身份驗證的用戶輸入憑證的功能,是獨一無二的(比如說一個電子郵件地址),如果他們通過點擊鏈接進行響應,則可以通過編程方式轉換用戶帳戶。

您可以創建新帳戶並從舊的非Windows身份驗證帳戶導入信息,然後刪除舊帳戶。但是,依賴於UserId的所有db記錄都需要在此方法中作爲遷移的一部分進行更改。

+1

那麼有一個'升級'嚮導?讓他們爲他們的表單身份驗證信息輸入某種憑證,將其重新插入新的憑證,然後刪除該用戶的舊錶單信息? – yougotiger 2012-04-12 23:55:29

+0

是@yougotiger多數民衆贊成我的意思。我有興趣看看其他人說什麼 – 2012-04-13 07:47:37

2

取決於你想如何集成,但如果它是單一的跡象不會推動這一點。 得到了用戶的SID看它在配置文件中的角色等(可能SID列給他們,但一個簡單的SID添加 - 用戶標識表會更好

,如果他們在那裏,你是好去 如果他們AREN」。 t使用表單認證來識別它們並添加一個來自他們的sid touserid的映射,所以他們會再次被問到,那就是它

無論如何,你可能需要類似的機制,在sid改變的情況下,這可能發生在各種Windows問題之後,或者對於非Windows用戶的匿名訪問。

如果您不喜歡sid作爲id,那麼其他一些例如domain \ user name可能會這樣做。

Windows組/角色的全面整合應用程序角色是另一步,正如 合理化像全名等個人資料信息..

這是不錯的快速啓動任何辦法,而不必通過一切拖網使用用戶ID現在並改變它。

+0

因此,如果我正確理解你,你建議創建一個新的表,將保存AD SID和表單身份驗證的用戶ID,使他們兩個並排存在,它翻譯來來回回?即當我想獲得他們的個人資料時,我會查看他們的SID,方法是查看他們的登錄信息,然後拉取相應用戶ID的個人資料? – yougotiger 2012-04-12 23:54:02

+0

其他方式,您從認證登錄中獲得sid,然後查找其現有配置文件。如果它在那裏使用它,並且所有當前的東西都可以正常工作,如果它沒有使用表單進行身份驗證,那麼下次再添加sid映射。 – 2012-04-13 08:32:22