禁用用户主文件夹创建

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

我怎样才能防止这种情况发生? 任何帮助表示赞赏。

如维基中所述,您可以将用户配置为共享公司主页空间。 如果您正在使用LDAP同步,则可以使用它进行配置

ldap.synchronization.defaultHomeFolderProvider=companyHomeFolderProvider 

否则,您需要否决默认的Spring配置并定义以下bean( name属性当然很重要,因为您需要覆盖默认配置):

             ${home.folder.creation.eager}   

还有其他默认提供程序,请查看authentication-services-context.xml以获取更多信息。

 # 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。

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

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

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

我研究了这个来源并发现了

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

所以我注释掉那部分并返回如下的home space节点

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