mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-22 16:33:48 +01:00
LSprofiles by LSobject: add possibility to compute basedn using LSformat on authenticated user
This commit is contained in:
parent
a56b20728a
commit
dcf68a2330
2 changed files with 12 additions and 8 deletions
|
@ -203,7 +203,7 @@ objets pour lesquels l'utilisateur appartiendra au
|
|||
// or
|
||||
'filter' => [format du filtre de recherche],
|
||||
|
||||
'basedn' => [basedn de recherche],
|
||||
'basedn' => [format du basedn de recherche],
|
||||
'params' => [configuration de la recherche]
|
||||
),
|
||||
array (
|
||||
|
@ -215,7 +215,7 @@ objets pour lesquels l'utilisateur appartiendra au
|
|||
// ou
|
||||
'filter' => [format du filtre de recherche],
|
||||
|
||||
'basedn' => [basedn de recherche],
|
||||
'basedn' => [format du basedn de recherche],
|
||||
'params' => [configuration de la recherche]
|
||||
),
|
||||
),
|
||||
|
@ -232,12 +232,13 @@ la valeur clé <emphasis>LSobjects</emphasis> signifie qu'on est dans un cas de
|
|||
délégation de droits sur des types d'LSobject. Dans ce tableau associatif, il
|
||||
est possible de définir un ou plusieurs types de LSobject pour lesquels on délègue
|
||||
des droits via des recherches simples ou enchaînées. Le fonctionnement simple
|
||||
consiste à partir de l'objet de l'utilisateur et à générer un filtre de
|
||||
consiste à partir de l'objet de l'utilisateur et à générer un filtre et une base de
|
||||
recherche sur un type de LSobject. Le fonctionnement enchainée consiste à faire
|
||||
un première recherche à partir de l'objet de l'utilisateur puis à recommencer à
|
||||
partir des objets trouvés en construisant une liste de filtres de recherche
|
||||
pour chaque objet qui seront combinés via l'opérateur booléen
|
||||
<emphasis>ou</emphasis>.</para>
|
||||
<emphasis>ou</emphasis>. Dans le cadre d'un fonctionnement enchainée, la base de
|
||||
recherche est toujours générer à partir de l'objet de l'utilisateur connecté.</para>
|
||||
|
||||
<para>Pour configurer une délégation de type simple on mettra le nom du
|
||||
LSobject dans la clé du tableau et dans la valeur un tableau définissant la
|
||||
|
@ -298,8 +299,11 @@ objets retournés. Les paramètres de la recherche sont :
|
|||
<varlistentry>
|
||||
<term>basedn</term>
|
||||
<listitem>
|
||||
<simpara>C'est le <emphasis>basedn</emphasis> de la recherche. Il est possible
|
||||
ainsi de la limiter sur les LSojects d'une branche précise de l'annuaire.
|
||||
<simpara>C'est le format paramétrable du <emphasis>basedn</emphasis> de la
|
||||
recherche généré à partir de l'utilisateur connecté. Il est possible ainsi
|
||||
de la limiter sur les LSojects d'une branche précise de l'annuaire.
|
||||
Voir le paragraphe <link linkend="config-LSformat">Format paramètrable</link>
|
||||
pour plus d'informations sur l'écriture du format.</simpara>
|
||||
<emphasis>(Paramètre facultatif)</emphasis></simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
|
|
@ -1934,7 +1934,7 @@ class LSsession {
|
|||
}
|
||||
$filter = LSldap::combineFilters('or', $filters);
|
||||
$params = array(
|
||||
'basedn' => isset($filter_def['basedn']) ? $filter_def['basedn'] : $basedn,
|
||||
'basedn' => isset($filter_def['basedn']) ? self :: getLSuserObject() -> getFData($filter_def['basedn']) : $basedn,
|
||||
'filter' => $filter,
|
||||
'onlyAccessible' => False
|
||||
);
|
||||
|
@ -1971,7 +1971,7 @@ class LSsession {
|
|||
}
|
||||
# we are gonna grow a set of objects progressively, we start from the user
|
||||
$set = array(self :: getLSuserObject());
|
||||
$basedn = isset($listInfos['basedn']) ? $listInfos['basedn'] : null;
|
||||
$basedn = isset($listInfos['basedn']) ? self :: getLSuserObject() -> getFData($listInfos['basedn']) : null;
|
||||
$LSobject = isset($listInfos['LSobject']) ? $listInfos['LSobject'] : $LSobject;
|
||||
|
||||
if (isset($listInfos['filters']) && is_array($listInfos['filters'])) {
|
||||
|
|
Loading…
Reference in a new issue