2012-02-28 72 views
1

當admin用戶創建用戶時,我自定義代碼以打開和關閉「homeFolderCreationEager」,但它只能延遲創建文件夾。當相應的用戶登錄時,該用戶的文件夾會自動創建。禁用用戶主文件夾創建

我該如何防止這種情況發生? 任何形式的幫助表示讚賞。

+0

分享或資源管理器?和哪個版本的Alfresco? – Gagravarr 2012-02-28 09:48:03

+0

@Gagravarr分享Alfresco 4.0 – zawhtut 2012-02-28 10:01:03

回答

1

嗨每個用戶都有一個「主文件夾」,這是現有空間的一個位置,如果沒有人提供,它將創建一個主文件夾。

通過將AD/LDAP連接到Alfresco,您可以清楚地看到這一點,您可以在其中提供主文件夾。因此,您不需要禁用homefolder創建,您需要提供homefolder = app:company或其他內容。

所以你需要找出這個屬性在哪裏以及如何設置它。那麼你不會有這個問題。

4

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瞭解更多。

0

我研究了源,發現類PortableHomeFolderManager類的

getHomeFolder方法自動創建文件夾。

所以我註釋掉了部分回國空間節點像下面

  homeSpaceNodeRef = new HomeSpaceNodeRef(getRootPathNodeRef(provider), 
        HomeSpaceNodeRef.Status.REFERENCED); 
      return homeSpaceNodeRef; 
      //fileInfo = createTree(provider, getRootPathNodeRef(provider), homeFolderPath,provider.getTemplateNodeRef(), fileFolderService); 
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中進行連線。

相關問題