Отключить создание домашней папки пользователя - PullRequest
1 голос
/ 28 февраля 2012

Когда пользователь с правами администратора создает пользователя, я настраиваю код для включения и выключения «homeFolderCreationEager», но это может только задержать создание папки.Когда соответствующий пользователь входит в систему, папка для этого пользователя создается автоматически.

Как я могу предотвратить это?Любая помощь приветствуется.

Ответы [ 4 ]

4 голосов
/ 28 февраля 2012

Как указано в вики , вы можете настроить пользователей для совместного использования домашнего пространства компании.Если вы используете синхронизацию 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.

3 голосов
/ 05 декабря 2016
# 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.

1 голос
/ 28 февраля 2012

Привет. У каждого пользователя есть «домашняя папка», это местоположение существующего пространства, и если никто не указан, он создаст домашнюю папку.

Это очень ясно видно, подключив AD / LDAP к Alfresco, где вы можете указать домашнюю папку. Следовательно, вам не нужно отключать создание homefolder, вам нужно указать homefolder = app: company или что-то еще.

Так что вам нужно выяснить, где находится это свойство и как вы можете его установить. Тогда у вас не будет этой проблемы.

0 голосов
/ 01 марта 2012

Я изучил источник и обнаружил, что

getHomeFolder метод класса PortableHomeFolderManager класс создает папку автоматически.

Итак, я закомментировал эту часть и вернул узел домашнего пространства, как показано ниже

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