• jango中间件的使用


    在用django写项目时,项目中经常会有地方要判断用户是否登陆。不做特殊处理每次都要去session,cookie中取了做判断,

    可以利用django中间件设置黑白路由名单,进行判断,代码简单,写一次就可以了。

    #  用户登陆验证及操作时的的白名单设置,中间件。

    from django.utils.deprecation import MiddlewareMixin
    from lib.http import render_json
    from common import errors
    from user.models import User

    # 很多地方都会用到user.id,所以把这个做成一个全局的。
    class AuthMiddleware(MiddlewareMixin): # 记得在setting中配置好'common.moddleware.AuthMiddleware'(commom是这个文件所在的文件夹)
    white_list = [
    '/api/user/vcode',
    '/api/user/login',
    ]
    def process_request(self, request):
    #检查当前path是否是白名单内
    if request.path in self.white_list:
    return
    #用户登陆验证
    uid = request.session.get('uid')
    if uid is None:
    return render_json(None,errors.LoginRequire.code)
    else:
    try:
    user = User.objects.get(id=uid)
    except User.DoesNotExist:
    return render_json(None,errors.UserNotExits.code)
    else:
    # 将user 对象添加到request身上
    request.user = user
  • 相关阅读:
    进程 线程 协程
    TCP的滑动窗口和网络拥塞控制
    Golang中函数结构体,将函数转换为接口
    go的调度 与 go 的GC
    未来程序员这个工种会如何进化与“35岁之殇”的思考
    golang 实现 LRU
    golang 单例模式实现
    内存泄露及内存溢出,解决方案
    Jvm调优参数
    HttpUtil
  • 原文地址:https://www.cnblogs.com/mumu1/p/12708424.html
Copyright © 2020-2023  润新知