首页 > 其他分享 >通过获取的jwt认证token,实现自动登录django-admin后台

通过获取的jwt认证token,实现自动登录django-admin后台

时间:2024-06-21 10:31:34浏览次数:11  
标签:jwt request sessionid django token user data id

视图层

from rest_framework_simplejwt.tokens import AccessToken
from django.middleware.csrf import get_token
from django.contrib.auth import login

class JwtToSessionView(GenericViewSet):
    @action(methods=['GET'], detail=False)
    def set(self, request, *args, **kwargs):
        token = request.GET.get('token')

        if not token:
            return APIResponse(code=102, msg='token不正确')

        access_token = AccessToken(token)
        user_id = access_token['user_id']
        user = User.objects.get(id=user_id)
        login(request, user)
        csrf_token = get_token(request)
        sessionid = request.session.session_key
        return APIResponse(data={'sessionid': sessionid, 'csrftoken': csrf_token})

前端获取sessionid与csrftoken时,将其存入cookie中

 Cookies.set('sessionid', response.data.data.sessionid);
        Cookies.set('csrftoken', response.data.data.csrftoken);
        window.open(BackendUrl) ;

标签:jwt,request,sessionid,django,token,user,data,id
From: https://www.cnblogs.com/wellplayed/p/18260054

相关文章

  • Sa-token基本使用教程(全网最详细!!!)
    1.概述1.1Sa-Token介绍功能简单示例1.2Sa-Token功能一览2.使用2.1导入依赖2.2springBoot的简单集成2.2.1配置文件2.2.2controller2.2.3简单登录页面2.3功能详解2.3.1 登录认证2.3.1.1登录与注销NotLoginException登录分析 先校验账号和密码,成功在进......
  • session、cookies、tonken以及JWT的定义以及区别
    session概述Session用于记录用户的状态。Session指的是一段时间内,单个客户端与Web服务器的一连串相关的交互过程。在一个Session中,客户可能会多次请求访问同一个资源,也有可能请求访问各种不同的服务器资源。Session是由服务器端创建的原理Session会为每一次会话分配一个S......
  • 【YOLOv8改进】STA(Super Token Attention) 超级令牌注意力机制 (论文笔记+引入代码)
    摘要视觉Transformer在许多视觉任务上展示了卓越的性能。然而,它在浅层捕获局部特征时可能会面临高度冗余的问题。因此,使用了局部自注意力或早期阶段的卷积来减少这种冗余,但这牺牲了捕获长距离依赖的能力。一个挑战随之而来:在神经网络的早期阶段,我们是否能高效且有效地进行全局上......
  • 基于django的灾害监测系统
    说明技术栈:开发框架:Django前端:boostrap、ajax、JavaScript后端:python数据库:redis、postgresql前期工作安装PostgreSQL安装Redis创建第一个页面创建Django项目运行测试pythonmanage.pyrunserver创建apppythonmanage.pystartappapp1将app1注册添加到setting......
  • 记录pyinstaller打包django项目遇到的坑
    由于工作需要,需要在内网部署一个Django项目生成exe,打包过程遇到了不少坑,在此记录一下。一、安装pyinstaller略。二、打包exe第一个问题:用pyinstaller-F-w生成的exe报错一开始用的是以下命令生成exe:pyinstaller-F-wxx.py导出完毕后,在dist/manage/目录下输入manage.......
  • springboot——https请求异常Invalid character found in method name. HTTP method n
    遇到问题的情况接口没有配置https,请求时用https会此异常。其他情况1、问题现象java.lang.IllegalArgumentException:Invalidcharacterfoundinmethodname.HTTPmethodnamesmustbetokensatorg.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11Inp......
  • Python Django 实现教师、学生双端登录管理系统
    文章目录PythonDjango实现教师、学生双端登录管理系统引言Django框架简介环境准备模型设计用户认证视图和模板URL路由前端设计测试和部署获取开源项目参考PythonDjango实现教师、学生双端登录管理系统引言在当今的教育环境中,数字化管理系统已成为必不可少的工......
  • 可以免费领取tokens的大模型服务
    本文更新时间:2024年6月20日豆包大模型"亲爱的客户,模型提供方将在5月15日至8月30日期间,为您提供一次独特的机会,即高达5亿tokens的免费权益。这是我们对您长期支持的感谢,也是对未来合作的期待。"在8月30日之前可以领取5亿tokensDeepSeek|深度求索注册获500万tokens(限中国......
  • Springboot 权限认证框架 -- SA-Token 简介(一)
    引言现今的软件开发中,权限认证与访问控制是每一个应用都必不可少的功能。SA-Token是一个简单、安全、易用的权限认证框架,它主要解决登录认证、权限认证、Session会话、单点登录等功能。SA-Token以其轻量级、零学习成本的特点,迅速赢得了开发者的青睐。本文将介绍如何在Sprin......
  • django线上兼职平台系统 毕业设计-附源码83320
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对线上兼职等问题,对线上兼职进行研究分析,然后开发设计出django线上兼职平台系统以解决问题。......