diff --git a/authserv/ldap_model.py b/authserv/ldap_model.py
index af6f7a2f19f2a8d29abf5b12753b9b0f6af79594..9757ecfc849b4f2b4712381908acb4d84aa25e15 100644
--- a/authserv/ldap_model.py
+++ b/authserv/ldap_model.py
@@ -7,6 +7,15 @@ from ldap.ldapobject import LDAPObject
 from authserv import model
 
 
+# Define the LDAP schema attributes that we will use.
+SCHEMA = {
+    'password': 'userPassword',
+    'otp_secret': 'totpSecret',
+    'app_specific_password': 'appSpecificPassword',
+    'shard': 'host'
+}
+
+
 class Error(Exception):
     pass
 
@@ -101,16 +110,19 @@ class User(model.User):
         self._dn = dn
         self._otp_enabled = False
         self._asps = []
+        self._shard = None
         for key, values in data.iteritems():
-            if key == 'userPassword':
+            if key == SCHEMA['password']:
                 self._password = values[0]
                 if self._password.startswith('{crypt}'):
                     self._password = self._password[7:]
-            elif key == 'totpSecret':
+            elif key == SCHEMA['otp_secret']:
                 self._otp_enabled = True
                 self._totp_secret = values[0]
-            elif key == 'appSpecificPassword':
+            elif key == SCHEMA['app_specific_password']:
                 self._asps = [v.split(':', 1) for v in values]
+            elif SCHEMA['shard'] and key == SCHEMA['shard']:
+                self._shard = values[0]
 
     def otp_enabled(self):
         return self._otp_enabled
@@ -129,3 +141,6 @@ class User(model.User):
 
     def get_password(self):
         return self._password
+
+    def get_shard(self):
+        return self._shard
diff --git a/authserv/model.py b/authserv/model.py
index b5962038856da4a96fe0b5766b50736f1040d04f..9af9c72cfab160ce0f8c061a9ba6f6a03d0c0501 100644
--- a/authserv/model.py
+++ b/authserv/model.py
@@ -31,4 +31,5 @@ class User(object):
     def get_password(self):
         pass
 
-
+    def get_shard(self):
+        pass