reactjs - 让 React 页面只对经过身份验证的用户可见?(使用 Django DRF 作为后端)
问题描述
我的 JWT 身份验证正常工作,我可以通过我的 React 项目注册和登录,我想将经过身份验证的用户重定向到主页,导航栏会显示“注销”而不是“登录”和“登录”向上'。
在 Django 中,我只会在模板中放置一个 {% if user.is_authenticated %} ,但我不确定如何从 React 本身解决这个问题。
提前致谢!
解决方案
因此,您可以将令牌保存在 cookie 上,稍后从 cookie 中获取令牌,然后定义它,如果令牌可用,则显示注销,否则显示登录菜单。
import Cookies from 'universal-cookie';
const cookies = new Cookies();
let token = cookies.get('Token')
return(
<div>
{token ? (
<ul>
<li>Logout</li>
</ul>
): (
<ul>
<li>Login</li>
<li>Signup</li>
</ul>
)}
</div>
)
推荐阅读
- unit-testing - spring-boot 和 mockito 测试 - 为什么我的测试失败了?
- java - Flux.fromIterable 作为控制器方法结果的不同线程处理
- php - 隐藏数组元素的锚点
- haskell - 两个函数的组合类型是什么——例如 (flip . const)
- javascript - Javascript/jQuery - 从选项列表中添加类(下拉)
- c# - 上传附件时获取位置的完整路径
- c++ - 无法使用信号唤醒 POSIX 线程
- sql-server - 如何在 SQL Server 的行中获取“,”而不是“和”
- mysql - 节点 js 服务器,mysql db,返回不正确的日期值
- javascript - 自定义 Vimeo API 嵌入不在 Chrome 中自动播放