tornado-cookies+pycket 验证
2024-10-13 06:03:51
1.pip install pycket
pip install redis
2.config
settings = dict(
debug=True,
template_path='templates',
static_path='static',
cookie_secret='secret',
pycket={
'engine': 'redis',
'storage': {
'host': 'localhost',
'port': 6379,
'db_sessions': 2,
# 'password': '',
'db_notifications': 11,
'max_connections': 2 ** 31,
},
'cookies': {
'expires_days': 30,
'max_age': 5000
}
},
)
3.构建BaseHandler
from pycket.session import SessionMixin class BaseHandler(tornado.web.RequestHandler, SessionMixin):
def get_current_user(self):
return self.session.get('cookie_name')
4.需要设置一个条件去验证,比如要求用户登录。就在用户登录的handler中设置一个cookie信息
class LoginHandler(BaseHandler):
def get(self):
username = self.get_argument('username')
passwd = self.get_argument('password')
if username in db and passwd == db.passwd:
self.sesion.set('cookie_name', value)
self.write('success login')
5.其他handler需要继承basehandler才能够使用装饰起@tornado.web.authenticated去验证用户是否登录
class NoLoginNoShow(BaseHandler):
@tornado.web.authenticated
def get(self):
self.write('this message is secrect'
6.登出,可以通过self.session.delete('cookie_name')
最新文章
- C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(2)
- java多线程--同步屏障CyclicBarrier的使用
- tomcat 504 gateway time-out
- Hive Tutorial(上)(Hive 入门指导)
- Eclipse之Git提交项目
- ef to sqlite 实际开发问题终极解决方法
- MVC4中重复使用JQuery Mobile Dialog的做法实践.
- windows 下使用 Filezilla server 搭建 ftp 服务器
- HDU 5624 KK's Reconstruction 最小生成树
- Cinder-1 TinderBox
- express4.0之后不会解析req.files,必须加一个插件multer
- 关于li标签之间的间隔如何消除!
- [开源]Dapper Repository 一种实现方式
- Analysis of Web.xml in Hello1 project
- WebService的几种验证方式
- js中 xpath 使用
- .net 4中使用 dynamic,将json字符串转成对象的 万能方法。
- Druid的Segment Balance及其代价计算函数分析
- Lintcode: First Position of Target (Binary Search)
- 可视化库-seaborn-单变量绘图(第五天)