javascript - 如何将未经身份验证的用户重定向到登录页面?
问题描述
我使用 React 和 Django 会话和 Django Rest Framework 开发一个 Web 应用程序进行身份验证。我已经配置了在登录时提供给用户的会话。
我正在尝试找到一种方法将未经身份验证的用户从 Web 应用程序中的任何页面重定向到登录页面。
我试图获取此处看到sessionid
的cookie的值,以便在值 == 0时可以重定向用户。.length
if (getCookieValue('sessionid').length === 0) {
return <Redirect to="/login" />
}
但是,由于sessionid
cookie 是HTTP cookie,因此JavaScript无法获取该值。因此,它始终为 0。
如何获取 HTTP cookie 的值?或者,有没有其他方法可以达到我想要的效果?
解决方案
这就是 HTTP-only cookie 的目的——使 Javascript 无法访问它们。您的 Javascript 需要向 Django API 发出请求并将会话 ID 存储在客户端(使用 LocalStorage 或类似机制)或解释来自 API 的重定向顺序。
推荐阅读
- ssl - curl命令中使用的cacert,cert和key有什么区别?
- java - 避免Java中不同枚举值的多个if-else条件
- r - 我们如何确保在单击按钮后执行更新查询后数据表会自动更新
- python - Python - 通过 Selenium 访问受密码保护的网站
- c# - 添加给定列表中的所有数字
- c++ - HTTP POST 请求 C++
- django - Django Model对象创建方法
- android - 使用“make project”构建的 Android 应用程序崩溃,但使用“Run”安装时不会崩溃
- ringcentral - 在 RingCentral 查看 SMS 的详细信息
- excel - Excel - 在连续时间轴上绘制时间段