當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