当admin用户创建用户时,我自定义代码以打开和关闭“homeFolderCreationEager”,但它只能延迟创建文件夹。当相应的用户登录时,将自动创建该用户的文件夹。
如何防止这种情况发生? 任何帮助表示赞赏。
答案 0 :(得分:4)
如wiki中所述,您可以将用户配置为共享公司主页空间。如果您正在使用LDAP同步,则可以使用
进行配置ldap.synchronization.defaultHomeFolderProvider=companyHomeFolderProvider
否则,您需要否决默认的Spring配置并定义以下bean(name
属性当然很重要,因为您需要覆盖默认配置):
<bean name="homeFolderManager" class="org.alfresco.repo.security.person.HomeFolderManager" init-method="init">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="defaultProvider">
<!-- here's the custom part: -->
<ref bean="companyHomeFolderProvider" />
</property>
<property name="enableHomeFolderCreationAsPeopleAreCreated">
<value>${home.folder.creation.eager}</value>
</property>
</bean>
还有其他默认提供商,请查看authentication-services-context.xml
了解更多信息。
答案 1 :(得分:1)
您好每个用户都有一个'主文件夹'这是现有空间的位置,如果没有提供,它将创建一个主文件夹。
通过将AD / LDAP连接到Alfresco,您可以非常清楚地看到这一点,您可以在那里提供主文件夹。因此,您不需要禁用homefolder创建,您需要提供homefolder = app:company或其他东西。
所以你需要找出这个属性的位置以及如何设置它。那你就不会有这个问题了。
答案 2 :(得分:0)
我研究了这个来源并发现了
getHomeFolder 类 PortableHomeFolderManager 类的方法会自动创建文件夹。
所以我注释掉那部分并返回家庭空间节点,如下面的
homeSpaceNodeRef = new HomeSpaceNodeRef(getRootPathNodeRef(provider),
HomeSpaceNodeRef.Status.REFERENCED);
return homeSpaceNodeRef;
//fileInfo = createTree(provider, getRootPathNodeRef(provider), homeFolderPath,provider.getTemplateNodeRef(), fileFolderService);