function _ldap_authorization_ldap_authorization_maps_alter in Lightweight Directory Access Protocol (LDAP) 8.2
Same name and namespace in other branches
- 7.2 ldap_authorization/ldap_authorization.inc \_ldap_authorization_ldap_authorization_maps_alter()
- 7 ldap_authorization/ldap_authorization.inc \_ldap_authorization_ldap_authorization_maps_alter()
1 call to _ldap_authorization_ldap_authorization_maps_alter()
- ldap_authorization_ldap_authorization_maps_alter in ldap_authorization/ldap_authorization.module
- Implements hook_ldap_authorization_maps_alter().
File
- ldap_authorization/ldap_authorization.inc, line 463
- bulk of authorization code executed to determine a users authorizations
Code
function _ldap_authorization_ldap_authorization_maps_alter(&$user, &$user_ldap_entry, &$ldap_server, &$consumer_conf, &$authz_ids, $op) {
$detailed_watchdog_log = config('ldap_help.settings')
->get('watchdog_detail');
$watchdog_tokens = array();
$derive_from_dn_authorizations = array();
if ($rdn_values = $consumer_conf->server
->groupUserMembershipsFromDn($user)) {
$derive_from_dn_authorizations = array_combine($rdn_values, $rdn_values);
}
else {
$derive_from_dn_authorizations = array();
}
if ($op == 'test_query' || $op == 'test_query_set') {
$_SESSION['ldap_authorization_test_query']['maps']['Derive from DN'] = $rdn_values ? $derive_from_dn_authorizations : t('disabled');
}
$group_dns = $consumer_conf->server
->groupMembershipsFromUser($user, 'group_dns');
if (!$group_dns) {
$group_dns = array();
}
elseif (count($group_dns)) {
$group_dns = array_unique($group_dns);
}
if ($op == 'test_query' || $op == 'test_query_set') {
$_SESSION['ldap_authorization_test_query']['maps']['Groups DNs'] = $group_dns;
}
$values = array_merge($derive_from_dn_authorizations, $group_dns);
$values = array_unique($values);
$authz_ids = count($values) ? array_combine($values, $values) : array();
if ($detailed_watchdog_log) {
$watchdog_tokens['%username'] = $user->name;
$watchdog_tokens['%ldap_server'] = $ldap_server->sid;
$watchdog_tokens['%deriveFromDn'] = join(', ', $derive_from_dn_authorizations);
$watchdog_tokens['%deriveFromGroups'] = join(', ', $group_dns);
$watchdog_tokens['%authz_ids'] = join(', ', array_keys($authz_ids));
watchdog('ldap_authorization', '%username :_ldap_authorization_ldap_authorization_maps_alter:
<hr/>deriveFromDn authorization ids: %deriveFromDn
<hr/>deriveFromAttr authorization ids: %deriveFromGroups
<hr/>merged authz_ids authorization ids: %authz_ids
', $watchdog_tokens, WATCHDOG_DEBUG);
}
}