2012-04-16 153 views
5

將定製會員供應商與Orchard集成的首選方式是什麼?果園CMS定製會員

我見過一對夫婦各地實施新的IMembershipService和IUserService(從Orchard.Users)職位的,然後還有其他的模塊,如OpenAuthentication這似乎做了很多更多的(但仍使用與UserPart? ?)。

我們已經有一個ASP.NET成員資格提供書面,是否可以集成爲是?

回答

7

如果您不想使用默認的Orchard.Users模塊,自定義實施IMembershipService是一種方法。當您仍然想要進行表單身份驗證時很有用,但只需將身份驗證數據存儲在其他位置,而不是在用戶部分中。

如果你想創建一個完全自定義驗證方案,它覆蓋了基於表單的缺省設置(用戶名+密碼),覆蓋IAuthenticationService

所以,一般地講:

  • IMembershipProvider是關於認證數據管理(創建/檢索用戶)
  • IAuthenticationProvider即將執行認證(登錄/退出/獲取當前用戶等)

根據您的需求,您可以覆蓋一個或兩個。

共同的身份驗證模塊,像OpenAuth一個,增加額外的身份驗證選項,以現有的默認一個沒有實際替換它,IIRC。

+3

如果使用一個單獨的數據存儲實現IMembershipService,哪裏的ContentItem財產來自於對IUSER回來了? – Oll 2012-04-16 19:13:23

+0

嗯,實際上是個好問題。 'IUser'需要是一個內容項目,所以它使事情變得複雜一點,但只有一點。您可以創建一個單獨的內容項目(例如「用戶」),並將其作爲每個「IUser」的「ContentItem」屬性的值。如果在您的方案中不需要將其他部件附加到用戶,這將完美地工作。 – 2012-04-16 21:49:54

+0

你也可以例如。把當前的網站內容項放在那裏,所以你不需要創建任何東西。當前網站可以通過'IOrchardServices.WorkContext.CurrentSite'訪問。 – 2012-04-16 21:51:49