Change user <-> assertion association to use the dn attribute

This commit is contained in:
Benjamin Dauvergne 2010-11-10 16:30:57 +01:00
parent 8af076abc5
commit d240225ba2
1 changed files with 8 additions and 3 deletions

View File

@ -28,12 +28,15 @@
$elgg_user = saml_map_attributes($attributes);
if ($isAuth && ! isloggedin() && $elgg_user)
{
$user = get_user_by_username($elgg_user['username']);
if ($user = get_entities_from_metadata('ldapDN', $dn, 'user')) {
$user = $user[0];
}
if (! $user)
{
register_user($elgg_user['username'], $elgg_user['password'],
register_user($elgg_user['ldapDN'], $elgg_user['password'],
$elgg_user['name'], $elgg_user['email']);
$user = get_user_by_username($elgg_user['username']);
$user = get_user_by_username($elgg_user['ldapDN']);
$user->ldapDN = $elgg_user['ldapDN'];
}
else
saml_sync_user($user, $elgg_user);
@ -62,6 +65,7 @@
{
$user->name = $elgg_user['name'];
$user->email = $elgg_user['email'];
$user->ldapDN = $elgg_user['ldapDN'];
$user->save();
}
@ -91,6 +95,7 @@
$elgg_user['username'] = $attributes[$config->username][0];
$elgg_user['password'] = gen_rand_pwd();
$elgg_user['name'] = '';
$elgg_user['ldapDN'] = $attributes['dn'];
if ($attributes[$config->surname] || $attributes[$config->firstname])
{
if ($attributes[$config->firstname])