是否可以使用配置文件提供程序模型保留两个配置文件?

时间:2010-04-26 11:41:24

标签: asp.net profile-provider

我的网站需要将两组用户数据存储到不同的数据存储中。第一组数据由SiteCore CMS使用,并保存有关用户的信息。第二组数据由存储其自己的用户数据的个性化应用程序使用。它们未存储在同一个配置文件对象中的原因是因为个性化应用程序用于多个并非全部使用SiteCore的网站。

我能够创建多个配置文件提供程序 - 我目前有一个来自SiteCore和我编写的自定义提供程序,这些都是孤立的。当您尝试在同一web.config文件中配置两者时,存在问题。您似乎只能在web.config文件中指定一个Profile对象,而不是每个提供程序一个。这意味着无论使用哪个提供程序,.Net框架都会通过web.config文件的profile部分中的“inherits”参数中指定的配置文件对象发送。

我的问题是 - 是否可以为每个Profile Provider指定不同的Profile对象?如果是这样,指定的方式和位置是什么?

-edit -

我应该指出,两个数据集中没有重复数据,它们是互斥的(不包括电子邮件地址)。 SiteCore数据仅用于本网站,但我们拥有涵盖所有应用程序的公司范围的配置文件数据,因此需要单独的第二个配置文件对象。

- /编辑 -

谢谢, 尼克

2 个答案:

答案 0 :(得分:2)

Sitecore允许您通过切换台使用多个提供商,并且一个提供商未处理的配置文件属性可以传递给其他提供商。

这是CRM Security ProviderSitecore for Salesforce(这是我在其中实施自定义配置文件提供程序的产品)配置文件提供程序的工作方式。

查看Sitecore文档:Low-Level Sitecore CMS Security and Custom Providers

答案 1 :(得分:0)

这种方法给我敲响了警钟。您已经暗示您已考虑在一个位置存储两组数据。我建议重新访问这种方法。您是否考虑过在单个数据存储的顶部创建两个视图,一个具有额外的个性化数据而另一个没有?如果你能写自己的提供者,你显然有足够的能力做到这一点。

否则,您可能会因不同步的个人资料数据而遇到麻烦。