禁用用户主文件夹创建

时间:2012-02-28 09:18:40

标签: java alfresco

当admin用户创建用户时,我自定义代码以打开和关闭“homeFolderCreationEager”,但它只能延迟创建文件夹。当相应的用户登录时,将自动创建该用户的文件夹。

如何防止这种情况发生? 任何帮助表示赞赏。

3 个答案:

答案 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);