From 835f9dd206ac6ee82323777f8e276ea4eac5f9c2 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 24 Nov 2017 15:56:39 +0100 Subject: [PATCH] backends: truncate user attributes before assigning them from LDAP values --- polynum/base/backends.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/polynum/base/backends.py b/polynum/base/backends.py index 561c0b5..9364fd8 100644 --- a/polynum/base/backends.py +++ b/polynum/base/backends.py @@ -110,10 +110,13 @@ class CASBackend(PolynumBackendMixin, CASBackend): attributes = self.ldap_attributes_to_unicode(r[0][1]) for key in attributes: value = attributes[key][0] - setattr(user, key, value) if key in self.USER_ATTRIBUTES: + max_length = User._meta.get_field(self.USER_ATTRIBUTES[key]).max_length + value = value[:max_length] setattr(user, self.USER_ATTRIBUTES[key], value) if key in self.PROFILE_ATTRIBUTES: + max_length = PolynumProfile._meta.get_field(self.PROFILE_ATTRIBUTES[key]).max_length + value = value[:max_length] setattr(profile, self.PROFILE_ATTRIBUTES[key], value) profile.save() return user