Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / ldap / ldap_user @ 91af538d

Nom Taille Révision Âge Auteur Commentaire
  tests 91af538d environ 3 ans Assos Assos Weekly update of contrib modules
LdapUserConf.class.php 51 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
LdapUserConfAdmin.class.php 42 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
README.developers.txt 5,06 ko bc175c27 plus de 5 ans Assos Assos Weekly update of contrib modules
README.txt 1,4 ko f7a2490e environ 10 ans Assos Assos git mv htmltest drupal7
TODO.txt 2,43 ko f7a2490e environ 10 ans Assos Assos git mv htmltest drupal7
ldap_user.admin.inc 1,43 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.api.php 2,99 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.cron.inc 7,19 ko 91af538d environ 3 ans Assos Assos Weekly update of contrib modules
ldap_user.css 132 octets bc175c27 plus de 5 ans Assos Assos Weekly update of contrib modules
ldap_user.info 982 octets 91af538d environ 3 ans Assos Assos Weekly update of contrib modules
ldap_user.install 13,2 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.module 45,7 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.test_form.inc 7,91 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.theme.inc 4,6 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules
ldap_user.ws.inc 5,11 ko 32700c57 presque 5 ans Assos Assos Weekly update of contrib modules

Dernières révisions

# Date Auteur Commentaire
91af538d 31/03/2021 23:11 Assos Assos

Weekly update of contrib modules

32700c57 24/04/2019 23:38 Assos Assos

Weekly update of contrib modules

bc175c27 16/08/2018 02:18 Assos Assos

Weekly update of contrib modules

b42754b9 31/08/2017 00:06 Assos Assos

Weekly update of contrib modules

05237dd8 01/06/2017 00:09 Assos Assos

Weekly update of contrib modules

59ae487e 25/05/2017 00:10 Assos Assos

Weekly update of contrib modules

be58a50c 23/03/2017 00:06 Assos Assos

Weekly update of contrib modules

7547bb19 23/02/2017 00:12 Assos Assos

Weekly update of contrib modules

5136ce55 10/08/2016 22:49 Assos Assos

Weekly update of contrib modules

f7a2490e 13/02/2014 15:56 Assos Assos

git mv htmltest drupal7

Voir les révisions

README


provisioning = creating or synching ... to drupal or to ldap

==========================================

LDAP User Data Structures in Drupal User Object

'data' =>
array (
'ldap_user' =>
array (
'init' =>
array (
'sid' => 'activedirectory1',
'dn' => 'cn=hpotter,ou=people,dc=hogwarts,dc=edu',
'mail' => 'hpotter@hogwarts.edu',
),
),
'ldap_authorizations' =>
array (
'drupal_role' =>
array (
'cn=gryffindor,ou=groups,dc=hogwarts,dc=edu' =>
array (
'date_granted' => 1351194052,
),
'cn=honors students,ou=groups,dc=hogwarts,dc=edu' =>
array (
'date_granted' => 1351194052,
),
'students' =>
array (
'date_granted' => 1351194052,
),
),
),
),

'ldap_user_puid_sid' =>
array (
LANGUAGE_NONE =>
array (
0 =>
array (
'value' => 'activedirectory1',
'format' => NULL,
'safe_value' => 'activedirectory1',
),
),
),
'ldap_user_puid' =>
array (
LANGUAGE_NONE =>
array (
0 =>
array (
'value' => '101',
'format' => NULL,
'safe_value' => '101',
),
),
),
'ldap_user_puid_property' =>
array (
LANGUAGE_NONE =>
array (
0 =>
array (
'value' => 'guid',
'format' => NULL,
'safe_value' => 'guid',
),
),
),
'ldap_user_current_dn' =>
array (
LANGUAGE_NONE =>
array (
0 =>
array (
'value' => 'cn=hpotter,ou=people,dc=hogwarts,dc=edu',
'format' => NULL,
'safe_value' => 'cn=hpotter,ou=people,dc=hogwarts,dc=edu',
),
),
),
'ldap_user_prov_entries' =>
array (
),
'ldap_user_last_checked' =>
array (
),
'ldap_authorizations' =>
array (
),

==========================================

Rough Summary of provisioning configuration and controls

  1. configured triggers (admin/config/people/ldap/user) or configuration of other modules determine when provisioning happens.

// configurable drupal acct provision triggers
LDAP_USER_DRUPAL_USER_PROV_ON_USER_UPDATE_CREATE
LDAP_USER_DRUPAL_USER_PROV_ON_AUTHENTICATE
LDAP_USER_DRUPAL_USER_PROV_ON_ALLOW_MANUAL_CREATE

// configurable ldap entry provision triggers
LDAP_USER_LDAP_ENTRY_PROV_ON_USER_UPDATE_CREATE
LDAP_USER_LDAP_ENTRY_PROV_ON_AUTHENTICATE
LDAP_USER_LDAP_ENTRY_DELETE_ON_USER_DELETE

  1. hook_user_* functions (and elsewere such as ldap_authentication) will check if appropriate triggers are enabled and initiate calls to ldapUserConf methods:

ldapUserConf::provisionDrupalAccount()
ldapUserConf::synchToDrupalAccount()
ldapUserConf::ldapAssociateDrupalAccount()
ldapUserConf::deleteDrupalAccount()

ldapUserConf::provisionLdapEntry()
ldapUserConf::synchToLdapEntry()
ldapUserConf::deleteProvisionedLdapEntries()

  1. to get mappings and determine which attributes are needed "ldap_contexts" and "prov_events" are passed into
    ldap_servers_get_user_ldap_data()
    ldapUserConf::drupalUserToLdapEntry()

  2. Should provisioning happen?


4.A. Server Level: Does an ldap server configuration support provisioning?
ldapUserConf::drupalAcctProvisionServer = | LDAP_USER_NO_SERVER_SID; // servers used for to drupal acct provisioning
ldapUserConf::ldapEntryProvisionServer = | LDAP_USER_NO_SERVER_SID; // servers used for provisioning to ldap

This is directly configured at config/people/ldap/user


4.B. Trigger Level: Does provisioning occur for a given trigger?
ldapUserConf::provisionEnabled($direction, $provision_trigger)

This method is based on the configuration of two sets of checkboxes at config/people/ldap/user

ldapUserConf::drupalAcctProvisionTriggers (see "LDAP Entry Provisioning Options"), contains:
LDAP_USER_DRUPAL_USER_PROV_ON_AUTHENTICATE
LDAP_USER_DRUPAL_USER_PROV_ON_USER_UPDATE_CREATE
LDAP_USER_DRUPAL_USER_PROV_ON_ALLOW_MANUAL_CREATE

ldapUserConf::ldapEntryProvisionTriggers (see "Drupal Account Provisioning Options"), contains:
LDAP_USER_LDAP_ENTRY_PROV_ON_USER_UPDATE_CREATE
LDAP_USER_LDAP_ENTRY_DELETE_ON_USER_DELETE
LDAP_USER_LDAP_ENTRY_PROV_ON_AUTHENTICATE

@todo. A hook to allow other modules to intervene here


4.C Field Level: Does provisioning occur for a given field and ldap server for a given "prov_event" and "ldap _context"?

ldapUserConf::isSynched($field, $prov_event, $direction)

This depends on:
ldapUserConf::synchMapping[$direction][$field]['prov_events']
which is populated by various ldap and possibly other modules.

"ldap_contexts" (any module can provide its own context which is just a string)
ldap_user_insert_drupal_user
ldap_user_update_drupal_user
ldap_authentication_authenticate
ldap_user_delete_drupal_user
ldap_user_disable_drupal_user
all

"prov_events"
LDAP_USER_EVENT_SYNCH_TO_DRUPAL_USER
LDAP_USER_EVENT_CREATE_DRUPAL_USER
LDAP_USER_EVENT_SYNCH_TO_LDAP_ENTRY
LDAP_USER_EVENT_CREATE_LDAP_ENTRY
LDAP_USER_EVENT_LDAP_ASSOCIATE_DRUPAL_ACCT

Formats disponibles : Atom