当admin用户创建用户时,我自定义代码以打开和关闭“homeFolderCreationEager”,但它只能延迟创建文件夹。当相应的用户登录时,该用户的文件夹会自动创建。禁用用户主文件夹创建
我该如何防止这种情况发生? 任何形式的帮助表示赞赏。
当admin用户创建用户时,我自定义代码以打开和关闭“homeFolderCreationEager”,但它只能延迟创建文件夹。当相应的用户登录时,该用户的文件夹会自动创建。禁用用户主文件夹创建
我该如何防止这种情况发生? 任何形式的帮助表示赞赏。
嗨每个用户都有一个“主文件夹”,这是现有空间的一个位置,如果没有人提供,它将创建一个主文件夹。
通过将AD/LDAP连接到Alfresco,您可以清楚地看到这一点,您可以在其中提供主文件夹。因此,您不需要禁用homefolder创建,您需要提供homefolder = app:company或其他内容。
所以你需要找出这个属性在哪里以及如何设置它。那么你不会有这个问题。
如wiki所述,您可以配置用户共享公司主页空间。如果您使用LDAP同步,你可以用
ldap.synchronization.defaultHomeFolderProvider=companyHomeFolderProvider
否则,你需要覆盖缺省Spring配置和定义以下豆配置它(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
了解更多。
我研究了源,发现类PortableHomeFolderManager类的
getHomeFolder方法自动创建文件夹。
所以我注释掉了部分回国空间节点像下面
homeSpaceNodeRef = new HomeSpaceNodeRef(getRootPathNodeRef(provider),
HomeSpaceNodeRef.Status.REFERENCED);
return homeSpaceNodeRef;
//fileInfo = createTree(provider, getRootPathNodeRef(provider), homeFolderPath,provider.getTemplateNodeRef(), fileFolderService);
# 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中进行连线。
分享或资源管理器?和哪个版本的Alfresco? – Gagravarr 2012-02-28 09:48:03
@Gagravarr分享Alfresco 4.0 – zawhtut 2012-02-28 10:01:03