當前位置: 首頁>>代碼示例>>Python>>正文


Python auth.load_backend方法代碼示例

本文整理匯總了Python中django.contrib.auth.load_backend方法的典型用法代碼示例。如果您正苦於以下問題:Python auth.load_backend方法的具體用法?Python auth.load_backend怎麽用?Python auth.load_backend使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在django.contrib.auth的用法示例。


在下文中一共展示了auth.load_backend方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: with_perm

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def with_perm(self, perm, is_active=True, include_superusers=True, backend=None, obj=None):
            if backend is None:
                backends = auth._get_backends(return_tuples=True)
                if len(backends) == 1:
                    backend, _ = backends[0]
                else:
                    raise ValueError(
                        'You have multiple authentication backends configured and '
                        'therefore must provide the `backend` argument.'
                    )
            elif not isinstance(backend, str):
                raise TypeError(
                    'backend must be a dotted import path string (got %r).'
                    % backend
                )
            else:
                backend = auth.load_backend(backend)
            if hasattr(backend, 'with_perm'):
                return backend.with_perm(
                    perm,
                    is_active=is_active,
                    include_superusers=include_superusers,
                    obj=obj,
                )
            return self.none() 
開發者ID:tmm,項目名稱:django-username-email,代碼行數:27,代碼來源:models.py

示例2: clean_username

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
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:
            LOGGER.debug(
                _('calling the backend {0} clean_username with {1}'),
                backend,
                username)
            username = backend.clean_username(username)
            LOGGER.debug(_('cleaned username is {0}'), username)
        except AttributeError:  # Backend has no clean_username method.
            pass
        return username 
開發者ID:abelardopardo,項目名稱:ontask_b,代碼行數:19,代碼來源:middleware.py

示例3: clean_username

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
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:
            LOGGER.debug('calling the backend %s clean_username with %s',
                         backend,
                         username)
            username = backend.clean_username(username)
            LOGGER.debug('cleaned username is %s', username)
        except AttributeError:  # Backend has no clean_username method.
            pass
        return username 
開發者ID:abelardopardo,項目名稱:ontask_b,代碼行數:18,代碼來源:middleware_patched.py

示例4: getUserFromSessionId

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def getUserFromSessionId(self, session_id):
        """Return the user from `session_id`."""
        session_engine = self.factory.getSessionEngine()
        session_wrapper = session_engine.SessionStore(session_id)
        user_id = session_wrapper.get(SESSION_KEY)
        backend = session_wrapper.get(BACKEND_SESSION_KEY)
        if backend is None:
            return None
        auth_backend = load_backend(backend)
        if user_id is not None and auth_backend is not None:
            user = auth_backend.get_user(user_id)
            # Get the user again prefetching the SSHKey for the user. This is
            # done so a query is not made for each action that is possible on
            # a node in the node listing.
            return (
                User.objects.filter(id=user.id)
                .prefetch_related("sshkey_set")
                .first()
            )
        else:
            return None 
開發者ID:maas,項目名稱:maas,代碼行數:23,代碼來源:protocol.py

示例5: verifica_token

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def verifica_token(request, me, token):
    verifica = Token.verifica(token, redirect=True)
    if not verifica:
        return errore_generico(request, me, titolo="Token scaduto",
                               messaggio="Potresti aver seguito un link che è scaduto.")

    persona, url = verifica

    user = Utenza.objects.get(persona=persona)
    if not hasattr(user, 'backend'):
        for backend in settings.AUTHENTICATION_BACKENDS:
            if user == load_backend(backend).get_user(user.pk):
                user.backend = backend
                break
    if hasattr(user, 'backend'):
        login(request, user)
    return redirect(url) 
開發者ID:CroceRossaItaliana,項目名稱:jorvik,代碼行數:19,代碼來源:viste.py

示例6: clean_username

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
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 
開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:14,代碼來源:middleware.py

示例7: _remove_invalid_user

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
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 RemoteUserBackend.
        """
        try:
            stored_backend = load_backend(request.session.get(auth.BACKEND_SESSION_KEY, ''))
        except ImportError:
            # backend failed to load
            auth.logout(request)
        else:
            if isinstance(stored_backend, RemoteUserBackend):
                auth.logout(request) 
開發者ID:lanbing510,項目名稱:GTDWeb,代碼行數:15,代碼來源:middleware.py

示例8: force_login

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def force_login(self, user, backend=None):
        def get_backend():
            from django.contrib.auth import load_backend
            for backend_path in settings.AUTHENTICATION_BACKENDS:
                backend = load_backend(backend_path)
                if hasattr(backend, 'get_user'):
                    return backend_path
        if backend is None:
            backend = get_backend()
        user.backend = backend
        self._login(user, backend) 
開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:13,代碼來源:client.py

示例9: clean_username

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def clean_username(self, username, request):
        """
        Allow 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 
開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:14,代碼來源:middleware.py

示例10: _remove_invalid_user

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def _remove_invalid_user(self, request):
        """
        Remove the current authenticated user in the request which is invalid
        but only if the user is authenticated via the RemoteUserBackend.
        """
        try:
            stored_backend = load_backend(request.session.get(auth.BACKEND_SESSION_KEY, ''))
        except ImportError:
            # backend failed to load
            auth.logout(request)
        else:
            if isinstance(stored_backend, RemoteUserBackend):
                auth.logout(request) 
開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:15,代碼來源:middleware.py

示例11: with_perm

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def with_perm(
        self, perm, is_active=True, include_superusers=True, backend=None, obj=None
    ):
        if backend is None:
            backends = auth._get_backends(return_tuples=True)
            if len(backends) == 1:
                backend, _ = backends[0]
            else:
                raise ValueError(
                    "You have multiple authentication backends configured and "
                    "therefore must provide the `backend` argument."
                )
        elif not isinstance(backend, str):
            raise TypeError(
                "backend must be a dotted import path string (got %r)." % backend
            )
        else:
            backend = auth.load_backend(backend)
        if hasattr(backend, "with_perm"):
            return backend.with_perm(
                perm,
                is_active=is_active,
                include_superusers=include_superusers,
                obj=obj,
            )
        return self.none() 
開發者ID:stadtulm,項目名稱:cykel,代碼行數:28,代碼來源:models.py

示例12: get_user

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def get_user(self):
        try:
            user_id = self.request.session['u2f_pre_verify_user_pk']
            backend_path = self.request.session['u2f_pre_verify_user_backend']
            assert backend_path in settings.AUTHENTICATION_BACKENDS
            backend = load_backend(backend_path)
            user = backend.get_user(user_id)
            if user is not None:
                user.backend = backend_path
            return user
        except (KeyError, AssertionError):
            return None 
開發者ID:gavinwahl,項目名稱:django-u2f,代碼行數:14,代碼來源:views.py

示例13: get_user

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def get_user(scope):
    """
    Return the user model instance associated with the given scope.
    If no user is retrieved, return an instance of `AnonymousUser`.
    """
    if "session" not in scope:
        raise ValueError("Cannot find session in scope. You should wrap your consumer in SessionMiddleware.")
    user = None
    session = scope["session"]
    with scope["tenant"]:
        try:
            user_id = _get_user_session_key(session)
            backend_path = session[BACKEND_SESSION_KEY]
        except KeyError:
            pass
        else:
            if backend_path in settings.AUTHENTICATION_BACKENDS:
                backend = load_backend(backend_path)
                user = backend.get_user(user_id)
                # Verify the session
                if hasattr(user, "get_session_auth_hash"):
                    session_hash = session.get(HASH_SESSION_KEY)
                    session_hash_verified = session_hash and constant_time_compare(
                        session_hash, user.get_session_auth_hash()
                    )
                    if not session_hash_verified:
                        session.flush()
                        user = None
    return user or AnonymousUser() 
開發者ID:lorinkoz,項目名稱:django-pgschemas,代碼行數:31,代碼來源:auth.py

示例14: get_user

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def get_user(self):
        try:
            user_id = self.request.session['u2f_pre_verify_user_pk']
            backend_path = self.request.session['u2f_pre_verify_user_backend']
            self.request.session['verfied_u2f'] = False
            assert backend_path in settings.AUTHENTICATION_BACKENDS
            backend = load_backend(backend_path)
            user = backend.get_user(user_id)
            if user is not None:
                user.backend = backend_path
            return user
        except (KeyError, AssertionError):
            return None 
開發者ID:MicroPyramid,項目名稱:django-mfa,代碼行數:15,代碼來源:views.py

示例15: process_request

# 需要導入模塊: from django.contrib import auth [as 別名]
# 或者: from django.contrib.auth import load_backend [as 別名]
def process_request(self, request):
        # Overwrite process_request from auth.middleware because it force
        # user logout when REMOTE_USER header is not present which can
        # cause problem while deploying with Kerberos authentication when
        # we need to enable both anonymous access and kerberos login.

        # AuthenticationMiddleware is required so that request.user exists.
        if not hasattr(request, 'user'):
            raise ImproperlyConfigured(
                "The Django remote user auth middleware requires the"
                " authentication middleware to be installed.  Edit your"
                " MIDDLEWARE setting to insert"
                " 'django.contrib.auth.middleware.AuthenticationMiddleware'"
                " before the RemoteUserMiddleware class.")

        if settings.DEBUG and getattr(settings, "DEBUG_USER", None):
            request.META[self.header] = settings.DEBUG_USER

        try:
            username = request.META[self.header]
        except KeyError:
            # When the page which requires kerberos login was redirected from
            # kerberos login entrance, 'REMOTE_USER' header is lost in request
            # meta, thus the RemoteUserMiddleware will make it falling into
            # redirect loop.
            return

        # If the user is already authenticated and that user is the user we are
        # getting passed in the headers, then the correct user is already
        # persisted in the session and we don't need to continue.
        if request.user.is_authenticated:
            if request.user.get_username() == self.clean_username(username, request):
                return
        # We are seeing this user for the first time in this session, attempt
        # to authenticate the user.
        user = auth.authenticate(remote_user=username, request=request)
        if user:
            # User is valid.  Set request.user and persist user in the session
            # by logging the user in.
            request.user = user
            request.session['auth_backend'] = user.backend
            backend = load_backend(user.backend)
            if getattr(backend, 'save_login', True):
                auth.login(request, user) 
開發者ID:product-definition-center,項目名稱:product-definition-center,代碼行數:46,代碼來源:middleware.py


注:本文中的django.contrib.auth.load_backend方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。