0

我正在开发一个使用外部基础对用户进行身份验证的 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 失败......

谢谢你帮助我!

4

1 回答 1

2

答案在缓存中:

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

于 2013-05-03T10:49:28.237 回答