29 lines
902 B
Python
29 lines
902 B
Python
from django_kerberos.backends import KerberosBackend
|
|
|
|
import logging
|
|
|
|
from . import app_settings
|
|
|
|
class A2KerberosBackend(KerberosBackend):
|
|
def __init__(self):
|
|
super(A2KerberosBackend, self).__init__()
|
|
self.logger = logging.getLogger(__name__)
|
|
|
|
def username_from_principal(self, principal):
|
|
if app_settings.REALM:
|
|
username, domain = principal.rsplit('@', 1)
|
|
return '{0}@{1}'.format(username, app_settings.REALM)
|
|
return super(A2KerberosBackend, self).username_from_principal(principal)
|
|
|
|
def should_create_user(self):
|
|
return app_settings.CREATE_USER
|
|
|
|
def provision_user(self, principal, user):
|
|
pass
|
|
|
|
def authenticate(self, principal=None, **kwargs):
|
|
if not app_settings.ENABLED:
|
|
return
|
|
return super(A2KerberosBackend, self).authenticate(principal=principal,
|
|
**kwargs)
|