手动验证 django 会话 ID 当前是否已通过身份验证
我需要一个函数告诉我 Django session-id 当前是否经过身份验证。我知道这已经内置在 Django 中并且我可以正常工作。
但是我有一个外部应用程序传递了一个会话 ID,当它将会话 ID 字符串传递回 Django 时,我需要验证该会话 ID 是否有效并且当前已通过身份验证。
我从哪里开始重用 Django 1.2 的一些内置函数?
I need to have a function tell me if a Django session-id is currently authenticated or not. I understand this is already built into Django and I have that working just fine.
But I have an external app that gets passed a session id, and when it passes the session-id string back to Django I need to validate that this session id is valid and currently authenticated.
Where do I start reusing some of the built-in functions Django 1.2 has?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以这样做(未经测试,但它向你展示了一种可能的方法):
You can do it like this (not tested, but it shows you a possible way):
下面是源代码 django.contrib.auth.__init__.login 中用于登录用户的一行。
注销会完全刷新会话,因此该密钥的存在就是经过身份验证的用户。
PS:如果您不使用数据库会话,aeby 提供的一个很好的方法可以从会话引擎中提取。
Here's a line in the source
django.contrib.auth.__init__.login
that logs in a user.Logging out flushes the session completely, therefore the presence of that key is the authenticated user.
PS: nice one by aeby to pull from session engine if you're not using db sessions.