2013-10-04 46 views
0

我們已經開發了一個使用Sitecore的公共網站。有公共登錄用戶可以將項目(文章)標記爲標記,並在瀏覽網站時爲以後的參考添加備註。目前,我們正在維護在master數據庫中使用Sitecore項目的公共登錄用戶。 每次登錄用戶標記一篇文章並添加一條記錄時,我們都會在內容樹中的用戶項目中添加一個子項目,並在其中保存備註內容。 我們已決定遷入Sitecore會員模塊,以便我們可以使用它的個人資料信息等功能...Sitecore會員維護用戶偏好數據

我們面臨的問題是導出這些子筆記項。什麼是使用Sitecore成員模塊來完成此操作的合適方法?

我們已經考慮在master數據庫中保留相同的用戶結構並將成員資格用戶鏈接到這些用戶項目(外鍵類似方法),並從那裏引用這些註釋。有關這種方法的任何想法?

回答

0

我建議您將標記/註釋項目移動到文章項目本身下,並將用戶標識(Sitecore用戶具有Guid標識)作爲字段存儲在標記/註釋項目中。

如果你願意,你可以擴展Sitecore的成員提供或通過實施.NET MembershipProvider創建自己的成員提供,這種方式可以存儲Sitecore的主數據庫外的標誌和說明,這種方式可能需要Security API Cookbook

1

這不是目前遵循最佳實踐的原因有兩個:

  1. 您正在管理master數據庫中的前向登錄,而不是成員身份,但是您正在轉向成員身份,這是一個很好的決定。請參閱Security API
  2. 您正在將用戶生成的內容(UGC)存儲在master數據庫中,這意味着您正在向CM實例進行完整的往返。我建議您使用自定義的額外數據庫來更新此存儲UGC。它可以像將用戶名(例如domain\username)映射到通過其GUID(在「web」DB中)以及實際UGC(來自用戶的註釋)的關聯內容項的表格一樣簡單。您可以創建一個輕量級實體框架或LINQ to SQL數據訪問層來處理這個額外的數據庫。