2015-09-07 76 views
1

假设我有一个用户abc登录到我的django系统。现在当我看到我的个人资料或需要身份验证的任何操作时,我可以执行此操作django注销或删除用户后的使用会话

现在从我的数据库中,我删除了用户abc并试图访问需要验证或验证的视图,然后它进入无限重定向循环。

但是,当我通过/account/logount注销已删除的用户并访问该视图的罚款。

即使在用户被删除后,我怎样才能注销。

如何删除用户后删除身份验证?

+0

可能是U可以从'django_session'表中的用户模型 –

回答

0

如果您正在使用django会话的默认值,您可以从数据库中删除会话。这些存储在django_session表中。

编辑:

有一个Django管理命令来清除所有过期的会议,如果你不希望修改数据库的更多。 https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-clearsessions

编辑2:

您也可以通过打开开发者工具和去的cookie存储和查找会话cookie并删除它有删除浏览器会话cookie。

+0

其preity复杂的方法pre_delete信号删除相关条目。我想如果有任何种类的信号被触发,并删除与用户相关的会话并注销用户 – aryan

+0

我想我误解了你的问题。当通过ORM删除用户时,这应该自动处理。我以为你是由于某种原因手动进行的。 – electrometro

+0

我正在手动做。我正在从我的数据库中删除用户,现在当用户被删除时,我希望所有与它相关的会话都应该被删除,用户应该被注销 – aryan

0

后您删除的用户在你的代码调用

from django.contrib.auth import logout 
logout(request) 
+0

我知道这是登出,但我删除用户从数据库不是从浏览器... – aryan

+0

是的,我说的是服务器端。在你的看法 – Rel

+0

假设我删除用户并寻找已删除用户的配置文件。那么我应该在配置文件视图中写入注销功能?我想当用户从数据库中删除时,它应该是自动注销 – aryan