cookie,session,用户认证组件

一. 绘画跟踪技术

  在客户端与服务端的一次会务中,屡次的请求与相应,HTTP协议是无状态协议,也就是说每一个请求都是独立的!没法记录前一次请求的状态。会话跟踪技术即可以实现屡次回话间信息共享的做用,HTTP协议中可使用Cookie来完成会话跟踪!在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术。 python

.cookie技术

  Cookie是浏览器的技术,当浏览器第一次访问一个网站时,发送给服务端的是一个空的cookie,若是登陆成功了,服务器能够向cookie的字典中插入值,之后在必定的时间内,浏览器访问此服务端,都会带着这个cookie字典.数据库

Cookie语法:django

1.设置cookie

1 Obj=Httpresponse(“ok”)
2 Obj.set_cookie(“is_login”,True)
3 Obj.set_cookie(“username”,”amy”)  #不写时间默认是两周
4 Obj.set_cookie(“username”,”amy”,max_age=20) #让浏览器20秒后清除cookie获取cookie

2.获取cookie

1 Request.COOKIES
2 获得的是cookie字典{“is_login”:True,“username”:”amy”}
3 Request.COOKIES.get(“is_login”)
4 获得的是True

3.删除cookie

1 Response.delete_cookie("cookie_key",path="/",domain=name)

.session技术

  因为cookie的信息暴露在客户端,很是的不安全,并且数据量一但变大,会必定程度的影响速度,因此,出现了session,session是基于cookie,session是服务端技术浏览器

1.设置session

Request.session[“s_username”]=”amy”安全

这句话会作三件事:服务器

  生成一个随机字符串做为表中session-key字段的值cookie

  向表中django_session插入数据session

    Session-key session-datadom

    随机字符串 加密后的{“s_username”:”amy”}函数

  向客户端相应时,加上sessionid=刚刚生成的随机字符创

2.获取session

1 S_username=request.session[“s_username”]

3.删除session

1 Del request.session[“s_username”]

4.Request.session.flush()

  (1) 找到钥匙

  (2) Django session表中过滤出该记录,并删除

  (3) 删除钥匙

四. 用户认证组件

视图函数中要使用用户认证组件须要引入auth模块

From Django.contribute import auth

前提:必须使用组Django提供auth_user

插入命令:在manage.py中建立命令createsuperuser(python manage.py  createsuperuser)即为向该表中插入记录,经过此方式插入的密码是加密的,直接在表中插入密码不是加密的

 

1.数据库中查询数据是否存在(auth_user表中)

查询成功返回用户对象,查询失败返回none:

auth.authenticate(username=”amy”,password=123)

 

2.保存用户状态信息

auth.login(request,user_obj)

至关于:request.session["user_id"]=user.pk

保存后可使用request.user,代指当前登陆对象,没有auth.login,默认是匿名对 ,requester.user是全局变量

 

3.删除数据库中的记录,删除钥匙

auth.logout(request)

 

4.向auth_user表中插入数据用create_user接口,要先引入user

from Django.contrib.auth.models import User

User.objects.create_user(username=user,password=pwd)

 

5.重置密码

user=User.objects.get(username=request.user.username)    user.set_password("666")    user.save()

相关文章
相关标签/搜索