django项目token

本文介绍了在Django项目中使用Token认证的过程。首先在utils文件夹下创建middlewares.py中间件,重写csrf-token。接着,前端JavaScript通过jQuery获取cookie中的csrf-token,并在Ajax请求中添加到headers中。最后,在settings文件中注册中间件。此外,还提到了在阿里云服务器上创建和管理用户的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

django项目token:

    1 在utils文件在建立一个middlewares.py作为中间件,然后继承重写crsf-token

    from django.middleware.csrf import get_token
    from django.utils.deprecation import MiddlewareMixin
    class Middleware(MiddlewareMixin):
        def process_request(self,request):
            get_token(request)

    2 前端js

     // 用jq获得
      function getCookie(name) {
        let cookieValue = null;
        if (document.cookie && document.cookie !== '') {
          let cookies = document.cookie.split(';');
          for (let i = 0; i < cookies.length; i++) {
            let cookie = jQuery.trim(cookies[i]);
            if (cookie.substring(0, name.length + 1) === (name + '=')) {
              cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
              //console.log(cookieValue);
              break;
            }
          }
        }
        return cookieValue;
      }
      //将csrf-token添加到Ajax中
       $.ajax({
              // 请求地址
              url: '/',  //写自己的路由
              // 请求方式
              type: 'POST',
              // 向后端发送csrf token
              headers: {
                        // 根据后端开启的CSRFProtect保护,cookie字段名固定为X-CSRFToken
                        'X-CSRFToken': getCookie('csrftoken')
              },
              data: JSON.stringify(Sdata),
              // 请求内容的数据类型(前端发给后端的格式)
              contentType: 'application/json; charset=utf-8',
              // 响应数据的格式(后端返回给前端的格式)
              dataType: 'json',
            })

        3 在settings文件内进行注册
        MIDDLEWARE = [
            'django.middleware.security.SecurityMiddleware',
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.middleware.common.CommonMiddleware',
            'django.middleware.csrf.CsrfViewMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
            'django.contrib.messages.middleware.MessageMiddleware',
            'django.middleware.clickjacking.XFrameOptionsMiddleware',
            'djangpr.utils.middlewares.Middleware', #注册中间件

        ]


    阿里云:
	进入阿里云服务器之后
        vim /etc/hostname 进入vim 修改用户名
	将第一行名字改为自己想设置的名字 例如:root@css:
        reboot 重启服务器

        创建一个普通用户:
            useradd -m cssuser 创建一个cssuser的用户
            passwd cssuser     为cssuser的用户设置密码
	    例如:
            root@css:~# useradd -m cssuser
            root@css:~# passwd cssuser
            Enter new UNIX password:(自己的密码)
            Retype new UNIX password:(重复密码)
            passwd: password updated successfully

        vim /etc/passwd 更改配置
        root:x:0:0:root:/root:/bin/bash                 #第一行
        #将/bin/bash添加到最后一行cssuser后面
        cssuser:x:1000:1000::/home/cssuser:/bin/bash    #最后一行

        给cssuser用户sudo权限
        root@css:~# chmod 777 /etc/sudoers (固定用法)
        root@css:~# vim /etc/sudoers


        root@css:~# chmod 777 /etc/sudoers
        root@css:~# vim /etc/sudoers
        进入之后在root行后面添加cssuser
        root    ALL=(ALL:ALL) ALL
        cssuser ALL=(ALL:ALL) ALL
        root@css:~# chmod 440 /etc/sudoers (固定用法)

        获取公网,然后用xshell就可以连接到阿里云
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值