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、直接请求路径跳转到首页

     

     

     

     

     

     

     

  • 相关阅读:
    ADO.NET 中的数据并发
    net中前台javascript与后台c#函数相互调用
    js正则函数match、exec、test、search、replace、split使用介绍集合
    jQuery遍历Table tr td td中包含标签
    SQL你必须知道的-查询聚合分组排序
    haut-1280 诡异的迷宫
    int、long long等的取值范围
    codeforce 855B
    nyoj-2357
    codeforces 858A
  • 原文地址:https://www.cnblogs.com/little-turtle/p/7756523.html
Copyright © 2011-2022 走看看