问题描述
我创建了一个 React 应用程序,其流程如下:
现在的问题是,私有路由只有在用户登录后才可以访问,而且效果很好。
但是当我尝试复制私有路由的 URL 并在新窗口中打开它时,通过使用第二个帐户登录,用户会看到第一个用户的内容。
解决方法
我不确定您的应用程序结构,我会假设:
- user2 尝试访问 url /bookstore/bookOfUser1
- user2 没有登录,所以他被重定向到 url /login,并使用一种存储用户想要访问的 url 的机制
- user2 登录,重定向到 /bookstore/bookOfUser1 并进行 api 调用以获取带有书籍 ID (bookOfUser1) 的书籍详细信息
在第 3 步中,在获取数据时,您的后端应检查 user2 是否具有读取图书详细信息 bookOfUser1 的访问权限。如果是这样,您的后端应该发送详细信息,如果不是,它应该发送一个由您的前端处理的错误。然后,您的前端将重定向到后备网址。