cancel
Showing results for 
Search instead for 
Did you mean: 

LDAP - HOME FOLDER

mavenel
Champ in-the-making
Champ in-the-making
A la synchronisation LDAP il y a des un nouvel UTILISATEUR création de son espace Personnel.
Comment éviter cette création automatique?
Cette gestion est elle située dans le fichier de configuration : authentication-services-context.xml
Merci
11 REPLIES 11

rguinot
Confirmed Champ
Confirmed Champ
Pouvez vous préciser ce que vous souhaitez faire ? ainsi que votre environnement de déploiement ?

ptitmat
Champ in-the-making
Champ in-the-making
Bonjour,

Je me permet de déterrer ce sujet car cela m'intéresse de ne pas créer d'espace personnel quand on intègre un nouvel utilisateur.

Je ne peux pas faire de test pour l'instant mais je voudrais savoir si mon idée est la bonne.

Dans le fichier de configuration ldap-authentication-context.xml, je vois les lignes suivantes :

<property name="attributeMapping">
            <map>
                <entry key="cm:userName">
                    <!– Must match the same attribute as userIdAttributeName –>
                    <value>samaccountname</value>
                </entry>
                <entry key="cm:firstName">
                    <!– OpenLDAP: "givenName" –>
                    <!– Active Directory: "givenName" –>
                    <value>givenName</value>
                </entry>
                <entry key="cm:lastName">
                    <!– OpenLDAP: "sn" –>
                    <!– Active Directory: "sn" –>
                    <value>sn</value>
                </entry>
                <entry key="cm:email">
                    <!– OpenLDAP: "mail" –>
                    <!– Active Directory: "???" –>
                    <value>mail</value>
                </entry>
                <entry key="cm:organizationId">
                    <!– OpenLDAP: "o" –>
                    <!– Active Directory: "???" –>
                    <value>company</value>
                </entry>
                <!– Always use the default –>
                <entry key="cm:homeFolderProvider">
                    <null/>
                </entry>
            </map>
        </property>
        <!– Set a default home folder provider –>
        <!– Defaults only apply for values above –>
        <property name="attributeDefaults">
            <map>
                <entry key="cm:homeFolderProvider">
                    <!– <value>personalHomeFolderProvider</value> –>
                    <value>userHomesHomeFolderProvider</value>
                </entry>
            </map>
        </property>

Est ce bien là que sera crée l'espace utilisateur? Si je remplace userHomesHomeFolderProvide par null. est ce que l'espace sera créé


Ptitmat

ptitmat
Champ in-the-making
Champ in-the-making
Bonjour,

Après quelques essais sur le fichier de configuration ldap-authentication-context.xml, si on change les valeurs comprises entre ces balises.

 <property name="attributeDefaults">
            <map>
                <entry key="cm:homeFolderProvider">
                    <!– <value>personalHomeFolderProvider</value> –>
                    <value>userHomesHomeFolderProvider</value>
                </entry>
            </map>
        </property>
ON ne fait que déplacer le lieu de la création du répertoire du users.

Jai aussi regardé la classe UIDBasedHomeFolderProvider . ou j'ai essayé de renvoyer un null à la place de la création du répertoire.

Mais je ne peux plus me connecter à alfresco avec cette modification.

est-il possible de lui demandé de retourner dans un répertoire déjà existant?

Est - on forcément obligé de créer ce répertoire user?

Ptitmat

ptitmat
Champ in-the-making
Champ in-the-making
Bonjour,

J'ai fait différents test avec les fichiers de configurations pour essayer de ne pas créer les espaces utilisateurs. Le mieux que j'ai réussi à faire et de déplacer la création de ces espaces.
Je vais donc réécrire la classe UIDBasedHomeFolderProvider, mais comment récupérer un espaces existant ?

Ptitmat

ptitmat
Champ in-the-making
Champ in-the-making
Bonjour,

Malgré la réécriture de la classe UIDBasedHomeFolderProvider, les dossiers de chaque utilisateurs sont créer dans Alfresco.

Je trouve bizarre qu'on soit obligé de modifier cette classe pour empêcher la création des répertoires de chaque utilisateurs.

Donc je suis toujours preneur de solution existantes dans ce domaine car je ne pense être le seul dans ce cas de configuration.

Ptitmat

eweller
Champ in-the-making
Champ in-the-making
j'ai la meme question que toi - Je travaille sur le fichier ldap-synchronisation.properties. Je te donne le résultat sous peu

eweller
Champ in-the-making
Champ in-the-making
Solution : j'intervient directement sur la base de données apres importation du user LDAP pour isoler le node correspondant a son homefolder et delete les enregistrements dans 4 tables du reposotory. J'ai les scripts SQL qui font les SELECT et DELETE sur les tables.

Avantages : tu peux t'en servir pour des suppressions en masse (plus de 1000 dans mon cas) + meme séquence de script pour SELECT et DELETE des users, bien pratique quand tu passes d'une config synchro LDAP -> non LDAP…ou tous les utilisateurs restent quand meme.

Si tu veux les SQL, fait signe

eweller
Champ in-the-making
Champ in-the-making
Bonjour,

J'ai fait différents test avec les fichiers de configurations pour essayer de ne pas créer les espaces utilisateurs. Le mieux que j'ai réussi à faire et de déplacer la création de ces espaces.
Je vais donc réécrire la classe UIDBasedHomeFolderProvider, mais comment récupérer un espaces existant ?

Ptitmat


Pour récupérer les espaces existants, si tu connais le username, alors :
Identification du noeud : SELECT * FROM 'alf_node_properties' WHERE 'string_value' like 'usernem'

Tu vas trouver 2 nodes, un pour le user, unpour son folder, pour identifier le folder :
SELECT 'alf_node_properties' WHERE 'node_id'=xxx id des noeuds du precedent select xxx
Sur les 2 Node_id, celui qui retourne 2 lignes est celui du Homefolder, qui se repére aussi par la colonne q_name

rguinot
Confirmed Champ
Confirmed Champ
Cela me parait capillotracté.
On peut à ma connaissance déclarer un home folder pour tous les utilisateurs qui pointe vers un espace préalablement existant.

Voir par exemple ce morceau de wiki : http://wiki.alfresco.com/wiki/Security_Services#Defining_a_home_space_that_is_an_existing_space_.28E...

Y'a des vrais morceaux de fruits à l'intérieur