views: factorize using authentic2.utils.login

This commit is contained in:
Benjamin Dauvergne 2016-02-25 09:37:25 +01:00
parent 53dcfaa732
commit bf9e563319
1 changed files with 4 additions and 20 deletions

View File

@ -3,32 +3,16 @@ import logging
from django_kerberos.views import NegotiateView
from authentic2.models import AuthenticationEvent
from authentic2 import utils
__ALL_ = [ 'login' ]
class A2NegotiateView(NegotiateView):
def __init__(self, *args, **kwargs):
self.logger = logging.getLogger(__name__)
super(A2NegotiateView, self).__init__(*args, **kwargs)
self.logger = logging.getLogger(__name__)
def user_found(self, request, user, *args, **kwargs):
response = super(A2NegotiateView, self).user_found(request, user,
*args, **kwargs)
nonce = request.REQUEST.get('nonce', '')
if nonce:
self.logger.info('logged in %r as %r (nonce %r)', self.principal,
user, nonce)
else:
self.logger.info('logged in %r as %r', self.principal, user)
AuthenticationEvent.objects.create(
who=unicode(user),
how='kerberos',
nonce=nonce)
return response
def user_not_found(self, request, user, *args, **kwargs):
self.logger.debug('unable to log in %r', self.principal)
return super(A2NegotiateView, self).user_not_found(request, user,
*args, **kwargs)
def login_user(self, request, user):
utils.login(request, user, 'kerberos')
login = A2NegotiateView.as_view()