django在任何地方提供相同的会话

时间:2013-05-02 20:49:13

标签: django session unique shared

我正在使用django应用程序,该应用程序使用外部基础来验证用户身份。 登录后,会向会话检索一些信息。 问题是这个初始化的会话对于相同的session_id是相同的,无论我使用什么浏览器或桌面而不重新验证...

认证

def login(request):
    if request.method == 'POST':
        login = request.POST["login"]
        password = request.POST["password"]
        #do something to authenticate by requesting an url
        request.session['infos'] = #infos string recieved
        return HttpResponseRedirect(reverse('WebSite:index'))

MIDDLEWARE_CLASSES包含django.contrib.sessions.middleware.SessionMiddleware

SESSION_ENGINE =“django.contrib.sessions.backends.db”

INSTALLED_APPS包含django.contrib.sessions

这样做的另一个影响是,在某个地方进行身份验证后,当我在其他地方尝试时,我的CSRF失败了......

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

答案在缓存中:

缓存使django在每个具有相同session_id的请求中提供相同的cookie。所以我将其停用,直到我用更好的设置设置缓存。