'Identifies if the user is authenticated to continue or not.
Should return either ``True`` if allowed, ``False`` if not or an
``HttpResponse`` if you need something custom.'

def is_authenticated(self, request, **kwargs):

    unauthorized = False
    for backend in self.backends:
        check = backend.is_authenticated(request, **kwargs)
        if check:
            if isinstance(check, HttpUnauthorized):
                unauthorized = (unauthorized or check)
            else:
                request._authentication_backend = backend
                return check
    return unauthorized
