使用django-user-sessions从Chrome关闭Firefox中的会话时遇到错误

时间:2016-10-11 19:05:32

标签: python django google-chrome session referer

我有一个Django的中间件控制用户何时尝试登录,并且存在另一个用同样的用户登录的用户。我的代码检查是否存在另外一个用户,并显示一个模板,询问用户是想要注销还是完成其他会话。如果用户选择完成另一个会话,则将其重定向到系统。 request.path对于仅接受请求登录和会话/删除视图非常有用。

def process_request(self, request):
    try:
        object_list = request.user.session_set.filter(expire_date__gt=timezone.now())
    except:
        object_list = None

    if object_list and len(object_list) > 1:
        if request.path != '/users/session/delete' and request.path != '/login/':
            return logout(request)

    return None

从Chrome浏览器尝试完成在Firefox上运行的一个会话时发生错误。它重定向到注销而不是登录系统。当我在localhost中测试该功能时,它会正常执行。查找错误时,我发现当我使用Chrome中的localhost和web时,请求标头中的'referer'是不同的。

我该怎么做才能解决这个问题?

0 个答案:

没有答案