我正在尋找使用Sitecore創建產品目錄網站,該網站允許用戶將產品保存到使用網站時可以管理的自定義列表中。如何在Sitecore中使用配置文件提供程序?
這些列表可能包含數百個項目,因此使用標準自定義配置文件屬性可能會失去控制,因此我認爲使用外部數據源將是最佳方式。
是否有任何如何實現存儲到外部sql數據庫的自定義配置文件提供程序的示例?有一個更好的方法嗎?
UPDATE 擴展此項。爲了測試,我已經從這裏下載了SQL Table Profile Provider示例:http://code.msdn.microsoft.com/Using-the-SQL-Table-4c220996 並且正在運行。然後,我在Sitecore項目中添加了對此提供者的引用。 在web.config我有:
<profile defaultProvider="switcher" enabled="true" inherits="Sitecore.Security.UserProfile" >
<providers>
<clear />
<add name="sql" type="System.Web.Profile.SqlProfileProvider" connectionStringName="core" applicationName="sitecore" />
<add name="TableProfileProvider"
type="Microsoft.Samples.SqlTableProfileProvider, SQLTableProfileProviderCS"
connectionStringName="myProfileConnString" table="aspnet_Profile2"
applicationName="/" />
<add name="switcher" type="Sitecore.Security.SwitchingProfileProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/profile" />
</providers>
<properties>
<clear />
<add type="System.String" name="SC_UserData" />
</properties>
</profile>
下switchingProviders:
<profile>
<provider providerName="TableProfileProvider" storeFullNames="false" wildcard="%" domains="mydomain" />
<provider providerName="sql" storeFullNames="true" wildcard="%" domains="*" />
</profile>
和/Security/Domains.config:
<domain name="mydomain" ensureAnonymousUser="false"/>
如果我嘗試獲取當前用戶的配置文件並使用與SQL Table Profile Provider示例項目相同的方法訪問自定義屬性,則自定義配置文件始終爲空。
我必須在我的配置中丟失一些東西。 任何建議將不勝感激。
您是指會員供應商? – 2012-02-21 02:14:05
我的理解是有會員,角色和個人資料提供者。我很好地使用標準sitecore成員資格提供程序,我只想擴展配置文件信息以存儲默認asp.net屬性之外的自定義屬性,因爲我聽說在那裏存儲太多信息會導致性能問題。我是否需要使用自定義會員提供商來使配置文件提供程序正常工作? – Bevan 2012-02-21 03:03:56