zoukankan      html  css  js  c++  java
  • 六、login_02

     

     一、cookie和session

    1、cookie

    透明的将信息保存在浏览器/客户端里面---类似于使用的存折

    2、session

    只有将相对应数据展示给用户,其他信息保存在服务器--类似于银行卡

    二、两者的使用

    1、HttpResponseRedirect

    重定向跳转到某个页面(新路径)

    2、页面跳转配置

    3、登录成功之后在跳转页面返回登录名

    3.1、方法一:数据的纯传递方式

    3.2、方法二:利用cookie实现(不安全,信息会一直暴露出来)

    通过key将用户名给保存,保存的时长

    3.2、session方法(推荐、较为安全)

    cd 到相对应的项目下,终端输入:python3 manage.py migrate  生成django_session表

    4、链接数据库

    4.1、打开SQLite manager客户端,在django_session数据库表里面可以查到相对应的数据

    5、登录的判断逻辑完善

    5.1、Django自带的用户系统(auth_user表)

    5.2、创建超级管理员账号

    终端输入命令:python3 manage.py createsuperuser(创建超管账号)

    利用账号在http://127.0.0.1:8000/admin/ 页面登录

    5.3、登陆到后台可创建超管账号

    修改后台添加的账号

    6、views文件登陆场景判断(通过查询数据库登陆)

    6.1、是否为post请求,如果不是的话返回首页

    6.2、为post请求,账号、密码为空-->返回首页并且提示账号或者密码为空

    6.3、post请求,账号、密码非空,调用Django下面的认证方法判断用户是否存在,存在的话进行登录,写session并且跳转到管理页

    6.4、post请求,账号、密码非空,调用Django下面的认证方法判断用户是否存在,不存在的话返回首页,并且返回错误信息

    7、登录跳转页面添加前置条件(不能直接利用URL后缀就直接登陆)

    7.1、问题描述

    7.2、解决方法(未登录限制登录到相对应的页面)

    7.3、直接请求路径跳转到首页

     

     

     

     

     

     

     

  • 相关阅读:
    react路由组件&&非路由组件
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    【LeetCode】65. Valid Number
    【LeetCode】66. Plus One (2 solutions)
    【LeetCode】68. Text Justification
    【LeetCode】69. Sqrt(x) (2 solutions)
    【LeetCode】72. Edit Distance
    【LeetCode】73. Set Matrix Zeroes (2 solutions)
    【LeetCode】76. Minimum Window Substring
  • 原文地址:https://www.cnblogs.com/little-turtle/p/7756523.html
Copyright © 2011-2022 走看看