backends: force decoding of principal (#31750)

This commit is contained in:
Benjamin Dauvergne 2019-05-10 09:53:41 +02:00
parent 6aeef35e26
commit c0341da115
1 changed files with 3 additions and 3 deletions

View File

@ -6,7 +6,7 @@ except ImportError:
ldap = None
from django.core.exceptions import ImproperlyConfigured
from django.utils import six
from django.utils import encoding
from django_kerberos.backends import KerberosBackend
@ -51,8 +51,9 @@ LDAPBackend._VALID_CONFIG_KEYS.append('principal_filter')
class A2LdapKerberosBackend(LDAPBackend):
def authenticate(self, principal=None, request=None):
logger = logging.getLogger(__name__)
principal = encoding.force_text(principal)
logger = logging.getLogger(__name__)
if not app_settings.ENABLE:
return
if not app_settings.LDAP_BACKEND:
@ -75,7 +76,6 @@ class A2LdapKerberosBackend(LDAPBackend):
return user
def authenticate_block(self, block, username, realm, logger):
username = six.text_type(username)
if not block['principal_filter']:
return
if block['limit_to_realm'] and realm != block['realm']: