2013-02-11 79 views
0

我正在與一個擁有現有ASP.NET Web應用程序並執行一些報告的產品所有者合作。爲了討論起見,我們稱之爲「WebApp1」。在DotNetNuke中,認證提供者和成員提供者有什麼區別?

她要求我們提供一個DotNetNuke門戶來提供論壇功能。

作爲要求的一部分,DotNetNuke門戶的主要登錄屏幕應根據用戶數據庫「WebApp1」對用戶進行身份驗證。 「WebApp1」的現有用戶表具有散列密碼。

由於我一直在研究這些需求,我發現MemberShipProvider模式和AuthenticationProvider似乎都滿足相同的要求。

從DotNetNuke的角度來看,這些提供者有什麼區別?哪種模式的複雜性最低?

請知道我在DotNetNuke上的經驗是有限的。

請知道,我很感謝StackOverflow社區的幫助。

回答

0

身份驗證只處理登錄(您是誰(用戶名),您是否擁有正確的密碼)。

成員處理該加更像授權(現在我知道你是誰,你允許這樣做)

0

----我工作PowerDNN.com ----

邁克爾你好, 幾個月前,我寫了一個會員提供商來做類似的事情,我們將DotNetNuke網站連接到基於Linux的後端系統進行授權。我覺得我有點欺騙了,但是我的解決方案非常好。

下面是我做的: 1)我繼承了DotNetNuke的會員提供商。 2)我用自定義代碼覆蓋了「登錄」功能。 2.1)它在遠程系統中找到用戶。 2.2)它驗證遠程用戶的憑證。 2.3)它在DNN中創建用戶,如果它尚不存在。 。 2.4)它同步的任何權限到DNN 2.5)我登錄的用戶

作爲一個僅供參考,當我創建的本地用戶,我給它像一個前綴「CUSTOM - #####」,其中# ####是他們在遠程系統中的ID。通過這種方式,我可以輕鬆地確定哪些用戶是「常規」dnn用戶,哪些用戶是同步用戶。另外,如果我無法在遠程數據庫中找到用戶,那麼我會根據DNN本身進行身份驗證(如'Host'和'Admin'這樣的用戶也可以使用)。

我希望這有助於!