LSattr_ldap_pwdHistory
Ce type est utilisé pour la gestion de l'attribut standard pwdHistory. Cet attribut, accessible en lecture uniquement, stocke dans un format prédéfini l'historique des mots de passe d'une utilisateur avec pour chaque entrée :
- la date et heure de l'ajout du mot de passe dans l'historique
- l'OID de la syntaxe du mot de passe
- la longueur du mot de passe
- le mot de passe (hâché)
Ce type d'attribut LDAP permettra de convertir la valeur en son équivalent JSON
pour pouvoir être
traité à l'aide du type d'attribut HTML
LSattr_html_jsonCompositeAttribute.
Exemple de valeur de l'attribut pwdHistory :
20201202144718Z#1.3.6.1.4.1.1466.115.121.1.40#105#{SSHA512}XDSiR6Sh6W7gyVIk6Rr2OUv8rNPr+0rHF99d9lcirE/TnnEdkjkncIi5iPubErL5lpfgh8gXLgSfmqvmFcMqXLToC25xIqyk
Exemple de valeur tranformée :
{"time":1606920438,"syntaxOID":"1.3.6.1.4.1.1466.115.121.1.40","length":105,"hashed_password":"{SSHA512}XDSiR6Sh6W7gyVIk6Rr2OUv8rNPr+0rHF99d9lcirE/TnnEdkjkncIi5iPubErL5lpfgh8gXLgSfmqvmFcMqXLToC25xIqyk"}
Exemple de configuration complète de l'attribut :
'pwdHistory' => array (
'label' => 'Passwords in history',
'ldap_type' => 'pwdHistory',
'html_type' => 'jsonCompositeAttribute',
'html_options' => array (
'components' => array (
'time' => array (
'label' => 'Date added to history',
'type' => 'text',
'required' => true,
'multiple' => false,
),
'syntaxOID' => array (
'label' => 'Syntax OID',
'type' => 'text',
'required' => true,
'multiple' => false,
),
'length' => array (
'label' => 'Length',
'type' => 'text',
'required' => true,
'multiple' => false,
),
'hashed_password' => array (
'label' => 'Hashed password',
'type' => 'text',
'required' => true,
'multiple' => false,
),
),
),
'no_value_label' => 'History is empty.',
'multiple' => 1,
'rights' => array(
'admin' => 'r',
),
'view' => 1,
),
La date et heure de l'ajout du mot de passe dans l'historique est convertie dans un format lisible.
Par défaut, ce format est AAAA/MM/JJ HH:MM:SS
, mais il peut aussi est personnalisé via le
paramètre date_format
. Ce format est composé à partir des motifs clés gérés par la fonction
date()
de PHP. Pour plus d'information, consulter
la documentation officielle.
Note
La valeur par défaut est YmdHisO, correspondant à la syntaxe Generalized Time
telle que
définie dans la RFC4517 et prévu par le
Draft-behera-ldap-password-policy
spécifiant cet attribut standard.