From d374845ba5fc1abd1b097bc1660b0097267dd0c0 Mon Sep 17 00:00:00 2001
From: steven.wichers <steven.wichers@1774136.no-reply.drupal.org>
Date: Thu, 1 Aug 2013 17:06:46 -0700
Subject: [PATCH] Issue 1740978: Set the authenticated sid on validated user logins

---
 ldap_authentication/ldap_authentication.inc |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/ldap_authentication/ldap_authentication.inc b/ldap_authentication/ldap_authentication.inc
index ed296db..324b518 100644
--- a/ldap_authentication/ldap_authentication.inc
+++ b/ldap_authentication/ldap_authentication.inc
@@ -367,6 +367,12 @@ function _ldap_authentication_user_login_authenticate_validate(&$form_state, $re
       $user_edit = array('name' => $drupal_accountname, 'status' => 1);
     }

+    // Update ldapUser with the sid of the server the user authenticated on.
+    if (!empty($ldap_server_authenticated_on->sid)) {
+
+      $auth_conf->ldapUser->drupalAcctProvisionServer = $ldap_server_authenticated_on->sid;
+    }
+
     // don't pass in ldap user to provisionDrupalAccount, because want to requery with correct attributes needed
     // this may be a case where efficiency dictates querying for all attributes
     $drupal_account = $auth_conf->ldapUser->provisionDrupalAccount(NULL, $user_edit, NULL, TRUE);
--
1.7.2.5

