首页 > 解决方案 > 检查路线访问的最佳方法

问题描述

我的设置是这样的:我有一个 React 前端,它向快速服务器发出请求(显然基于节点)。当用户登录时,他的凭据被检查并最终返回一个令牌,该令牌将用于执行进一步的操作。

所以这一切都很好,但我想防止用户绕过登录屏幕,只做 website.com/dashboard。我的第一个想法是检查应用程序中每个路由更改的令牌验证,但我不知道这样做是否正确。

每次路由改变的时候打个电话好像有点矫枉过正……不过不知道有没有更好的办法。仅仅检查令牌是否存在显然是不够的,因为用户可以将他们想要的任何东西放入其中。

他们将无法进行修改或获取数据,因为他们需要该令牌来向 API 发出请求,但是如果您可以通过手动编写路由来查看界面,那仍然很愚蠢。

到目前为止,这是我解决它的想法:

标签: reactjsexpressauthentication

解决方案


如果您使用的是express-session,则会在成功登录时设置一个名为connect.sid的 cookie,其中包含会话 ID。您可以从 React 中的 cookie 中读取此会话 ID 的值,以检查用户是否已登录并相应地阻止请求,而无需进行任何 API 调用。


推荐阅读