Jan 4, 2012

django cookie, session, authentication

cookie 存在浏览器。浏览器不一定开启cookie,所以要测试。

Session

Session 并不神秘,就是在服务器保存一些HTTP访问的信息。
比如根据session,判断上次访问的用户,给出该用户的名字和一次偏好设置。
关于用户的偏好信息,可以保存在user model里,也可以保存在 session里,这看你怎么考量。
session 也要用到 cookie,在cookie 里保存 session id 信息。
中间件 'django.contrib.sessions.middleware.SessionMiddleware'.
推想而知,Django 获得 session id, 取得session 内容,存在request.session
使用或修改session
最后中间件保存session(如果有修改)

request.session 是一个类词典变量,可以如词典一样使用。

Authentication


  1. Verify (authenticate) that a user is who he or she claims to be (usually by checking a username and password against a database of users)
  2. Verify that the user is authorized to perform some given operation (usually by checking against a table of permissions)
用户经常不会主动登录,可以设置用户不活动超过一定时间,自动登出

0 comments: