【问题标题】:Disable the user home folder creation禁用用户主文件夹创建
【发布时间】:2012-02-28 09:18:39
【问题描述】:

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

如何防止这种情况发生? 感谢您提供任何帮助。

【问题讨论】:

  • 共享还是资源管理器?以及哪个版本的 Alfresco?
  • @Gagravarr Share Alfresco 4.0

标签: java alfresco


【解决方案1】:

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 了解更多信息。

【讨论】:

    【解决方案2】:
    # Create home folders (unless disabled, see next property) as people are created (true) or create them lazily (false)
    home.folder.creation.eager=true
    # Disable home folder creation - if true then home folders are not created (neither eagerly nor lazily
    home.folder.creation.disabled=false
    

    使用第二个属性完全禁用主文件夹创建。这些属性是静态的和系统范围的。

    如果您想根据其他逻辑微调创建,您可以连接到您自己的 homeFolderManager bean。

    【讨论】:

      【解决方案3】:

      您好,每个用户都有一个“主文件夹”,这是一个现有空间的位置,如果没有提供,它将创建一个主文件夹。

      您可以通过将 AD/LDAP 连接到 Alfresco 来非常清楚地看到这一点,在那里您可以提供主文件夹。因此,您不需要禁用 homefoldercreation,您需要提供 homefolder = app:company 或其他东西。

      所以你需要找出这个属性在哪里以及如何设置它。那你就不会有这个问题了。

      【讨论】:

        【解决方案4】:

        我研究了源码,发现

        getHomeFolder 类的方法 PortableHomeFolderManager 类自动创建文件夹。

        所以我注释掉了那部分并像下面一样返回主空间节点

                    homeSpaceNodeRef = new HomeSpaceNodeRef(getRootPathNodeRef(provider),
                            HomeSpaceNodeRef.Status.REFERENCED);
                    return homeSpaceNodeRef;
                   //fileInfo = createTree(provider, getRootPathNodeRef(provider), homeFolderPath,provider.getTemplateNodeRef(), fileFolderService);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-10-23
          • 1970-01-01
          • 2019-04-02
          • 1970-01-01
          • 1970-01-01
          • 2016-04-10
          相关资源
          最近更新 更多