Sitecore Intranet门户:如何更改用户配置文件的默认结构

Sitecore Intranet门户:如何更改用户配置文件的默认结构,sitecore,sitecore7.2,sitecore-intranet-portal,Sitecore,Sitecore7.2,Sitecore Intranet Portal,我正在使用Sitecore内部网门户。用户配置文件保存在默认情况下创建的文件夹中。例如,对于用户“Jonny Bravo”自动创建两个文件夹J和Jo,然后将用户配置文件保存在其中 `J -> Jo -> Jonny Bravo` 我想禁用此默认行为,而不是根据部门来构造用户配置文件。例如财务、采购、管理等,因此文件夹Purchase将包含在该部门工作的所有用户 如果: 1。是否可能? 2。这会产生任何后果吗?在Sitecore Intranet Portal 4.1.0中,在In

我正在使用Sitecore内部网门户。用户配置文件保存在默认情况下创建的文件夹中。例如,对于用户“
Jonny Bravo
”自动创建两个文件夹
J
Jo
,然后将用户配置文件保存在其中

 `J -> Jo -> Jonny Bravo`
我想禁用此默认行为,而不是根据部门来构造用户配置文件。例如财务、采购、管理等,因此文件夹
Purchase
将包含在该部门工作的所有用户

如果:

1。是否可能?


2。这会产生任何后果吗?

在Sitecore Intranet Portal 4.1.0中,在
Intranet.Profiles.config
config中,您可以定义自己的
UserProfileProvider
而不是默认的
Sitecore.Intranet.Profiles.Providers.UserProfileProvider

只需从该类继承并重写
公共虚拟项GetProfileFolder(字符串userName,bool createIfNotExist)
方法

此方法的默认实现为:

公共虚拟项GetProfileFolder(字符串用户名,bool createIfNotExist) { userName=StringUtil.GetLastPart(用户名“\\”,用户名); Item Item=this.settings.Database.GetItem(this.settings.UserProfilesFolder); int num=Math.Min(this.settings.UserProfilesTreeDepth,userName.Length); for(int i=0;i 我不知道更改默认文件夹结构有什么缺点


编辑

您需要在此处将提供程序的类型更改为自定义提供程序:


Sitecore.Intranet.Profiles.Providers.UserProfileProvider,Sitecore.Intranet.Profiles

您使用哪个SIP版本?我使用的是SIP版本4.0。请参见下面的答案。我想在SIP4.0中也是这样。顺便问一下,你能给我一个链接,在那里你可以得到你在答案中使用的代码。我也想看看其他的方法。谢谢