def get_user_from_session(session): try: user_id = session[SESSION_KEY] backend_path = session[BACKEND_SESSION_KEY] backend = load_backend(backend_path) return backend.get_user(user_id) or AnonymousUser() except KeyError: return AnonymousUser()
def clean_username(self, username, request): """ Allows the backend to clean the username, if the backend defines a clean_username method. """ backend_str = request.session[auth.BACKEND_SESSION_KEY] backend = auth.load_backend(backend_str) try: username = backend.clean_username(username) except AttributeError: # Backend has no clean_username method. pass return username
def _remove_invalid_user(self, request): """ Removes the current authenticated user in the request which is invalid but only if the user is authenticated via the SeafileRemoteUserBackend. """ try: backend_str = request.session[auth.BACKEND_SESSION_KEY] backend = auth.load_backend(backend_str) except ImportError: # backend failed to load auth.logout(request) else: if isinstance(backend, SeafileRemoteUserBackend): auth.logout(request)