tornado authenticated 分析

哪位看过tornado源码的大神可以介绍下tornado authenticated的实现原理吗? 为什么使用functools.wraps装饰wrapper? 不用functools.wraps装饰也可完成登录检查,他那样实现有什么特殊考虑吗?

阅读 5.5k
2 个回答

你是想问为什么使用装饰器?还是问为什么使用functools.wraps实现装饰器?
1.第一问题的话,装饰器能够最大程度减少对现有代码的改动,同时提供了灵活的方式扩展
2.第二个问题的话,functools.wraps 作为内在模块,很好的处理了反射的问题

functools.wraps本来就是一个快捷方式, 从来没有绕不过去的

tornado authenticated很简单, 用加密的cookie存储一些用户的数据, 至少存个用户id什么的. 因为cookie长度有限, 也不能多存, 我建议可以再存个登陆时间什么的.

cookie这些都是很原始的用法, 比如我们要每次检查用户在数据库里有没有被封, 那么仅仅靠tornado的用户机制还不行, 还需要多写一点代码查数据库. 不过一切都很灵活啦, 这就是我喜欢tornado的原因, 没有太多的自创概念需要学习.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏