Sitecore 在配置文件配置中按名称调用配置文件提供程序
我有一个旧系统sitecore 6.1,它已经在plave中有一个配置文件提供程序作为管理部分的默认配置文件 现在,我需要在另一个表中为普通用户提供另一个定制的SQL概要文件提供程序 但我的问题是dose system如何知道在代码中使用哪个配置文件提供程序 我可以做类似的事情吗Sitecore 在配置文件配置中按名称调用配置文件提供程序,sitecore,sitecore6,provider,profile-provider,Sitecore,Sitecore6,Provider,Profile Provider,我有一个旧系统sitecore 6.1,它已经在plave中有一个配置文件提供程序作为管理部分的默认配置文件 现在,我需要在另一个表中为普通用户提供另一个定制的SQL概要文件提供程序 但我的问题是dose system如何知道在代码中使用哪个配置文件提供程序 我可以做类似的事情吗 System.Web.Security.Membership.Providers[providerString]; 这样我就可以在代码中相应地调用定制的配置文件提供程序 或者,在这种情况下,最佳做法是什么 我花了大约
System.Web.Security.Membership.Providers[providerString];
这样我就可以在代码中相应地调用定制的配置文件提供程序
或者,在这种情况下,最佳做法是什么
我花了大约1个小时来浏览sitecore文档,但那里没有太多可用的文档。以下是我最近使用电子邮件活动管理器为客户设置自定义配置文件的一些代码。如果此代码使用特定于ECM的某些类,它将创建一个新用户,初始化一个配置文件类,然后将该配置文件分配给新用户。然后为刚刚创建的用户设置一些自定义属性。它显示了如何基于用户调用配置文件,以及如何为该用户分配要使用的配置文件。这可能会有帮助,也可能会帮助其他人
public static void Process(List<Subscriber> userItems, Item targetAudienceDefinitionItem)
{
foreach (Subscriber user in userItems)
{
// you can also just pass it the id of the target audience as a string
Sitecore.Modules.EmailCampaign.TargetAudienceBase target = Sitecore.Modules.EmailCampaign.TargetAudience.FromItem(targetAudienceDefinitionItem);
string campaignname = target.ManagerRoot.Settings.CommonDomain;
string realUsername = campaignname + "\\" + user.UserName;
using (new SecurityDisabler())
{
User newUser;
if (!Sitecore.Security.Accounts.User.Exists(realUsername))
{
// create a new user and assign it to the email domain specified in the manager root item
newUser = Sitecore.Security.Accounts.User.Create(campaignname + "\\" + user.UserName, System.Web.Security.Membership.GeneratePassword(8,1));
}
else
// get back the existing user
newUser = User.FromName(realUsername, false);
// get back the current user profile
UserProfile subscriber = newUser.Profile;
// reset the profile to be the profile specified in the manager root
subscriber.ProfileItemId = target.ManagerRoot.Settings.SubscriberProfile;
subscriber.Save();
// built in properties are set like this
subscriber.Email = user.Email;
// set custom property value
subscriber["Address"] = user.Address;
// or long method
subscriber.SetCustomProperty("Address", user.Address);
subscriber.Save();
// now subscribe the user to the target audience subscriber list
target.Subscribe(Contact.FromName(newUser.Name));
}
}
}
有关如何将更多安全提供商插入Sitecore的更多详细信息,请参阅此链接:@YanSklyarenko感谢您的链接。是否有任何示例代码可供我参考。感谢有一个名为YaFinIntegration的共享源代码项目,这是另一个论坛集成。它实现了整个提供者集,您可以将其用作示例,但这不是一个简单的示例。以下是链接: