django自有的session校验机制

django自带有session机制:

用户表,只要是继承的AbstractUser,就可以拥有这个session校验

【操作1】

随便在应用下新建sign_in_out.py  ( 登录登出)

"""这个里的代码用来处理
登录和登出"""
from django.http import JsonResponse

from django.contrib.auth import authenticate, login, logout


# 登录处理
def signin(request):
    # 从 HTTP POST 请求中获取用户名、密码参数
    userName = request.POST.get('username')
    passWord = request.POST.get('password')

    # 使用 Django auth 库里面的 方法校验用户名、密码 (如果账号密码不对,或者is_active为0 就返回 None)
    user = authenticate(username=userName, password=passWord)
    if user is n
(三)服务器处理 腾讯会议服务器相关处理机制 一.服务器访问早期腾讯会议的服务器访问设计基于腾讯自有的分布式架构与云服务基础设施。为应对大规模并发音视频通信需求,其服务器访问处理采用了以下策略: 1.边缘接入 底层逻辑:将服务器代码部署到离用户更近的微型数据中心。 目的:缩短数据包物理传输距离,直接降低TCP/UDP握手和初始传输的延迟。 2.信令集群 底层逻辑:一组专门维护海量WebSocket长连接的服务器。 目的:确保控制指令(如谁加入、谁静音)能通过已建立的TCP通道被实时、可靠地推送,无需反复建立新连接。 3.媒体转发 (SFU) 底层逻辑:服务器作为数据包的中转站,接收每个用户的音视频UDP数据包,然后分别转发给其他所有用户。 4.核心协议: RTP:实际承载音视频数据的UDP数据包。 RTCP:伴随RTP的控制包,用于汇报网络状况(如丢包率),让服务器能动态调整。 5. 负载与弹性 底层逻辑: LVS/Nginx:作为流量入口,将新到的网络连接请求平均分发给后端的多台信令/媒体服务器。 Kubernetes:监控服务器资源(CPU/内存),当利用率高时,自动创建新的服务器副本;利用率低时,关闭多余副本。 6.安全加密 底层逻辑: HTTPS:在TCP层面,对信令通道进行加密。 SRTP:在UDP层面,对每一个音视频数据包本身进行加密。 7. NAT穿透 底层逻辑:解决设备在路由器后没有公网IP的问题。 STUN:通过一个简单的公共服务器,告知设备它被路由器分配的公网地址是什么,尝试让设备间直接建立UDP连接。 TURN:当直连失败(如企业级防火墙限制),所有音视频数据包都通过这台中继服务器进行转发,确保连通性。 综上,早期腾讯会议通过整合腾讯云的强大网络资源与自研音视频引擎,实现了稳定高效的服务器访问处理机制。 二.服务器内容 服务器处理内容是指服务器在接收到客户端请求后,所执行的一系列数据操作与逻辑运算过程。其核心任务包括: A.请求解析 解析HTTP报文,提取请求方法(GET、POST等)、URL、请求头(如Authorization、Content - Type)、Cookie及请求体数据。 身份验证与权限校验 B.检查用户身份(如JWT令牌、Session状态),确认是否具备访问目标资源的权限,防止越权操作。 C.业务逻辑执行 根据请求类型执行对应功能,如用户登录验证、文件上传处理、订单创建等,涉及算法计算或状态更新。 D.数据库交互 通过SQL或ORM框架(如MySQL、MongoDB)进行数据查询、插入、更新或删除操作,确保数据一致性与完整性。 E.外部服务调用 必要时调用第三方API(如支付接口、短信服务),使用RESTful或gRPC协议完成跨系统通信。 F.响应生成与返回 将处理结果封装为JSON、XML或HTML格式,设置响应码(如200,404)和响应头,通过HTTP回传客户端。 G.日志记录与监控记录 访问日志、错误信息和性能指标,便于后续审计、调试和系统优化。整个处理过程通常由Web应用框架(如Spring Boot、Node.js、Django)协同中间件(如Redis缓存、消息队列)高效完成。 三.后端处理 现代后端处理是一个高效协同的系统工程,从用户发起请求到返回结果,整个过程看似简单,实则涉及多个底层机制紧密配合。 a.连接建立与安全加密 当用户点击“加入会议”,客户端首先通过TCP(传输控制协议)与服务器建立可靠连接,确保数据不丢失、按序到达。随后启用TLS(传输层安全协议)进行加密握手,构建安全通道,整个通信即运行在HTTPS上,防止信息被窃听或篡改。 b.流量分发 请求到达服务器前端后,由负载均衡设备(将大量请求合理分配到多台服务器的技术,避免单台过载,提升系统性能与可用性)根据策略将流量分发到最合适的后端节点,避免单台服务器压力过大。 c.身份验证 接着进入业务逻辑层,系统验证JWT(JSON Web Token)——一种自包含的身份令牌,包含用户身份和签名,无需查库即可确认登录状态,提升效率。 d.具体操作执行 然后执行具体操作,如判断会议是否已满、权限是否合法。过程中优先访问Redis——一种基于内存的高性能键值数据库,用于缓存会议状态等高频数据,实现毫秒级响应;若未命中,则查询持久化数据库MySQL,存储结构化信息如用户资料、会议记录。 e.唯一标识生成 对于分布式环境下的唯一标识需求(如生成会议ID),采用Snowflake算法,生成全局唯一且趋势递增的64位整数,支持高并发不重复。 f.微服务通信 若需调用其他服务(如分配音视频资源),通过gRPC实现微服务间通信。这是一种高效远程调用框架,基于HTTP/2和Protobuf,比传统接口更快更省资源。 g.系统支持 所有这些操作都依赖操作系统支持:应用程序通过Socket(套接字)收发网络数据包,并通过系统调用(Syscall)请求内核服务,如读写文件、申请内存。 h.并发处理 为应对海量并发,后端常使用协程(如Go语言的Goroutine),它是一种轻量级执行单元,开销远小于线程,可在单机支撑数十万并发连接。 i.故障定位 最后,每个请求携带一个Trace ID(追踪ID),作为唯一标识贯穿所有服务环节,便于在日志系统中串联调用链,快速定位故障。 这一流程融合网络、安全、系统、架构与可观测性技术,共同支撑起稳定高效的后端服务。 做一个思维导图
最新发布
11-17
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值