Disable the user home folder creation

为君一笑 提交于 2019-12-02 06:12:06

As stated in the wiki, you can configure the users to share the Company Home space. If you're using LDAP synchronization, you can configure it with

ldap.synchronization.defaultHomeFolderProvider=companyHomeFolderProvider

Otherwise you need to overrule the default Spring configuration and define the following bean (the name attribute is of course important as you need to override default configurations):

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

There are other default providers available, have a look at authentication-services-context.xml for more.

# 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

Use the second property to disable home folder creation completely. The properties are meant to be static and system-wide.

If you want to fine-tune the creation according to some other logic, you can wire in your own homeFolderManager bean.

Hi Every user has a 'home folder' this is a location to an existing space and if no one is supplied it will create an home folder.

You can see this very clearly by connecting an AD/LDAP to Alfresco, there you can supply the home folder. Hence you don't need to disable the homefoldercreation, you need to supply homefolder = app:company or something.

So you need to find out where this property is and how you can set it. Then you wont have this problem.

I studied the source and found that

getHomeFolder method of class PortableHomeFolderManager class create the folder automatically.

So I commented out that part and return home space node like following

            homeSpaceNodeRef = new HomeSpaceNodeRef(getRootPathNodeRef(provider),
                    HomeSpaceNodeRef.Status.REFERENCED);
            return homeSpaceNodeRef;
           //fileInfo = createTree(provider, getRootPathNodeRef(provider), homeFolderPath,provider.getTemplateNodeRef(), fileFolderService);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!