在某些条件下,在我的Django应用中,我希望能够强制用户使用用户名注销。不一定是当前登录的用户,而是另一个用户。因此,我认为request方法没有关于我要注销的用户的任何会话信息。
我熟悉django.auth和auth。注销方法,但是它将请求作为参数。如果我只有用户名,是否存在“ Django方式”将用户注销?还是我必须推出自己的注销SQL?
我认为Django中尚无认可的方法可以做到这一点。
用户ID存储在会话对象中,但已被编码。不幸的是,这意味着你必须遍历所有会话,进行解码和比较…
两步:
首先删除目标用户的会话对象。如果他们从多台计算机登录,则将有多个会话对象。
from django.contrib.sessions.models import Session
from django.contrib.auth.models import User
# grab the user in question
user = User.objects.get(username='johndoe')
[s.delete() for s in Session.objects.all() if s.get_decoded().get('_auth_user_id') == user.id]
然后,如果需要,将其锁定…。
user.is_active = False
user.save()
问题内容: 我正在使用Django REST框架编写REST API 。该API将成为社交移动应用程序的后端。在学习了本教程之后,我可以序列化所有模型,并且能够创建新资源并对其进行更新。 我正在使用AuthToken进行身份验证。 我的问题是: 获得资源后,我希望应用程序用户能够注册。因此,拥有像这样的单独资源还是允许匿名用户将其发布到新资源更好? 此外,有关权限的一些指导也将非常有用。 问题答案
问题内容: 是否有一个静态分析工具可以在IDE外部运行一致地强制使用@Override注释?CheckStyle具有MissingOverride检查,但仅适用于使用@inheritDoc Javadoc标记的方法。我正在寻找一种可以在连续集成计算机上的新构建配置中运行的工具。 问题答案: 一种方法是使用TeamCity的“检查”运行器。我不确定它是否真的可以在IDE之外运行,因为它是在Intel
问题内容: 这是我目前用于注册的内容: 是否可以不要求用户在创建帐户后手动登录,而是简单地自动登录?谢谢。 编辑:我曾尝试过login()函数,但没有成功。我相信问题是未设置AUTHENTICATION_BACKENDS。 问题答案: 使用authenticate()和login()功能:
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 是否有一个静态分析工具可以在IDE外部运行一致地强制使用@Override注释?CheckStyle具有MissingOverride检查,但仅适用于使用@inheritDoc Javadoc标记的方法。我正在寻找一种可以在连续
问题内容: 我正在尝试为Express.js创建一个中间件,以将所有非安全(端口80)通信重定向到安全SSL端口(443)。不幸的是,Express.js请求中没有任何信息可让您确定该请求是否来自http或https。 一种解决方案是重定向 每个 请求,但这不是我的选择。 笔记: 没有可能用Apache或其他东西来处理它。它 必须 在节点中完成。 应用程序中只能启动 一台 服务器。 您将如何解决?
我必须实现一个JTable,其中必须恰好选择一行(总是)。不允许空选择。我正在初始化期间选择第一行: 另外,我在用 但用户仍然可以使用CLick+Ctrl取消选择一行。 最简单的方法是什么,确保在表中总是选择一行?