【问题标题】:django provide same session everywheredjango 在任何地方都提供相同的会话
【发布时间】:2013-04-27 04:21:50
【问题描述】:

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

谢谢你帮助我!

【问题讨论】:

  • 我似乎不明白需要实现什么或知道什么。请详细说明。
  • 我可能没有很好地描述我的问题,但很明显我的问题是:为什么我网站的每个访问者都没有自己的会话?我怎样才能让每个访问者都有自己的会话?

标签: django session unique shared


【解决方案1】:

答案在缓存中:

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

【讨论】:

    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多