zoukankan      html  css  js  c++  java
  • Django实现单点登录

    单点登录操作步骤:
    为了简化开发流程,使用了django 的用户管理机制。项目中需要实现sso单点登录,保障系统能够整合到原有旧平台中。

    (1)在app中添加authbackend.py 。 yourapp/auth_backend.py

    from django.contrib.auth.backends import ModelBackend
    from django.contrib.auth.models import User
    
    class PasswordlessAuthBackend(ModelBackend):
        """
            Log in to Django without providing a password.
        """
        def authenticate(self, username=None):
            try:
                return User.objects.get(username=username)
            except User.DoesNotExist:
                return None
     
        def get_user(self, user_id):
            try:
                return User.objects.get(pk=user_id)
            except User.DoesNotExist:
                return None
    

    (2)设置setting.py

    AUTHENTICATION_BACKENDS = (
        # ... your other backends
        'yourapp.authbackend.PasswordlessAuthBackend',
    )
    

    (3)在自己的view中可以直接使用

    user = authenticate(username=user.username)
    login(request, user)
    
  • 相关阅读:
    爬虫简介
    MongoDb安装pymongo和mongoengine使用
    简单使用WebSocket实现聊天室
    DBUtils
    FLASK 的Session和MoudelForm插件
    第十一篇 CBV和闪现
    HDOJ 4699 Editor 对顶栈
    [NOI1999]内存分配
    横截面图
    STL List Set
  • 原文地址:https://www.cnblogs.com/fhj-0519/p/11338143.html
Copyright © 2011-2022 走看看