Django与自定义认证后端(web服务)+无数据库。如何在会话中保存数据?
我到处找资料,参考了这个回答,然后整理出了下面的内容。
它能正常工作,但我需要在用户的会话中放一些东西,就在authenticate
里面。
我该如何把acme_token
存储到用户的会话中,以便在他们登出时能够清除?在这个情况下,request
对象是不可用的。
class AcmeUserBackend(object):
# Create a User object if not already in the database?
create_unknown_user = False
def get_user(self, username):
return AcmeUser(id=username)
def authenticate(self, username=None, password=None):
""" Check the username/password and return an AcmeUser. """
acme_token = ask_another_site_about_creds(username, password)
if acme_token:
return AcmeUser(id=username)
return None