对于正在/正在使用Cork并且知道它如何在内部工作的东西来说,这是一个简单的问题。 基本上在Cork.py脚本中,当创建User()时,它会在此行中验证此_id:
if session is not None:
try:
self.session_creation_time = session['_creation_time']
self.session_accessed_time = session['_accessed_time']
self.session_id = session['_id']
except:
pass
session ['_ id']不存在,我在会话中看到了用户名而不是_id,我希望_id在我的集合上创建一些DBRef。
查看Cork.py和mongodb_backend.py的代码我没有看到在会话中存储_id的任何内容。
任何人都可以帮助我吗?我应该修改软木库吗?
最简单的响应是创建我自己的查询并使用用户名请求_id,但如果我可以封装_id并在User()类中包含该值,则没有意义。
提前致谢!
答案 0 :(得分:0)
cork.py - 登录功能:
if username in self._store.users:
if self._verify_password(username, password,
self._store.users[username]['hash']):
# Setup session data
usr = self._store.users[username]
self._setup_cookie(username, usr["_id"])
def _setup_cookie(self, username, _id):
"""Setup cookie for a user that just logged in"""
session = self._beaker_session
session['username'] = username
session['_id'] = _id