django---Auth

Auth认证流程

成功登录后的session加密

"django.contrib.auth.models.AbstractBaseUser.get_session_auth_hash".encode("utf-8")
如果有secret就secret.encode("utf-8")
md5(sha1(key_salt + secret).digest()).hexdigest()
然后在django的session表中生成session_key和session_data及过期时间

认证

如果_auth_user_id 在request.session中,说明用户已经登录
  后端从cookie中解析出sessionid,存在_auth_user_hash中
  如果从前端根据拿到的sessionid算出来的值不等于数据库中寸的值,则表示用户登录有问题,则跳转到登录页面
如果不在则表示是生成sessiontoken

Auth是怎么发现user的

根据前端的sessionid从数据库中取到user_id,存到request.user中
posted @ 2023-04-06 16:53  河图s  阅读(9)  评论(0)    收藏  举报