mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-19 08:39:06 +01:00
c48a57df45
-> Les profils utilisateurs sont maintenant scalable. Il est possible de créer autant de profil voulu avec autant de droits alloués spécifiques -> LSsession :: whoami() et LSldapObject :: whoami() retourne la liste des profils correspondants à l'utilisateur connecté -> Les méthodes ont été modifiées pour prendre en compte cela en faisant la somme des droits de chaque profils : - LSsession :: canAccess() - LSsession :: relationCanAccess() - LSsession :: loadLSrights() - LSattribute :: myRigths() -> LSsession :: isAdmin() a été remplacé par isProfile() capable de redonner la meme information mais pour tout profil dont le nom est passé en paramètre -> LSsession :: loadLSrights() : gère la délagation de droits sur les objets répondant a un filtre particulier ou dont un certain attribut possède une certaine valeur -> LSexample : -> Ajout d'un attribut lsGodfatherDn pour la délégation de droit objet par objet -> Retravail des objets d'exemple pour faire en sorte de coller plus avec une réel utilisation
105 lines
2.9 KiB
PHP
105 lines
2.9 KiB
PHP
<?php
|
|
/*******************************************************************************
|
|
* Copyright (C) 2007 Easter-eggs
|
|
* http://ldapsaisie.labs.libre-entreprise.org
|
|
*
|
|
* Author: See AUTHORS file in top-level directory.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version 2
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
******************************************************************************/
|
|
|
|
$GLOBALS['LSobjects']['LSeecompany'] = array (
|
|
'objectclass' => array(
|
|
'top',
|
|
'lscompany'
|
|
),
|
|
'rdn' => 'ou',
|
|
'orderby' => 'displayValue', // Valeurs possibles : 'displayValue' ou 'subDn'
|
|
'container_dn' => 'ou=companies',
|
|
'select_display_attrs' => '%{ou}',
|
|
'label' => _('Sociétés'),
|
|
|
|
'attrs' => array (
|
|
|
|
/* ----------- start -----------*/
|
|
'ou' => array (
|
|
'label' => _('Nom'),
|
|
'ldap_type' => 'ascii',
|
|
'html_type' => 'text',
|
|
'required' => 1,
|
|
'check_data' => array (
|
|
'alphanumeric' => NULL
|
|
),
|
|
'view' => 1,
|
|
'rights' => array(
|
|
'user' => 'r',
|
|
'admin' => 'w'
|
|
),
|
|
'form' => array (
|
|
'modify' => 0,
|
|
'create' => 1
|
|
)
|
|
),
|
|
/* ----------- end -----------*/
|
|
|
|
/* ----------- start -----------*/
|
|
'description' => array (
|
|
'label' => _('Description'),
|
|
'ldap_type' => 'ascii',
|
|
'html_type' => 'textarea',
|
|
'required' => 0,
|
|
'rights' => array(
|
|
'user' => 'r',
|
|
'admin' => 'w',
|
|
'godfather' => 'w'
|
|
),
|
|
'view' => 1,
|
|
'form' => array (
|
|
'modify' => 1,
|
|
'create' => 1
|
|
)
|
|
),
|
|
/* ----------- end -----------*/
|
|
|
|
/* ----------- start -----------*/
|
|
'lsGodfatherDn' => array (
|
|
'label' => _('Parrain(s)'),
|
|
'ldap_type' => 'ascii',
|
|
'html_type' => 'select_object',
|
|
'selectable_object' => array(
|
|
'object_type' => 'LSeepeople',
|
|
'value_attribute' => '%{dn}'
|
|
),
|
|
'validation' => array (
|
|
array (
|
|
'basedn' => '%{val}',
|
|
'result' => 1,
|
|
'msg' => _("Un ou plusieurs de ces utilisateurs n'existent pas.")
|
|
)
|
|
),
|
|
'multiple' => 1,
|
|
'rights' => array(
|
|
'admin' => 'w'
|
|
),
|
|
'view' => 1,
|
|
'form' => array (
|
|
'modify' => 1,
|
|
'create' => 1
|
|
)
|
|
)
|
|
/* ----------- end -----------*/
|
|
)
|
|
);
|
|
?>
|