我正在构建和响应快速应用程序,我没有使用服务器端呈现,我在客户端的会话管理中面临问题
所以问题。就像这样
我有快递路线/
,/login
,/logout
,/dashboard
而且我在使用react router dom的反应中也有相同的路由
我使用快速会话将useremail设置为快递应用的/login
路由中的会话变量
然后我将用户重定向到/dashboard
。在将用户重定向到/dashboard
之前,我将验证码放在我设置session.useremail
的位置
但是当用户点击/dashboard
到服务器时。服务器进行认证。但是,如果用户导航到客户端应用程序中的/dashboard
,则只显示所有仪表板
答案 0 :(得分:1)
您需要检查用户是否在客户端进行了身份验证。这意味着当时会话是否持有用户。检查身份验证取决于您设置客户端逻辑的方式。但首先,您需要Express路由来检查会话是否有用户。然后你可以编写你的客户端代码。
如果您不使用Redux来处理您的状态,那么您每次都要在要检查身份验证状态的组件中转到该Express路由。获得结果后,您可以将组件显示给客户端,或者根据结果将其重定向到其他位置。我不是专业人士,也许每次都有另一种简单的方法可以跳过这条路线。也许我们可以在应用程序的入口点检查用户,并在localStorage的密钥中写入身份验证信息。然后去Express路线,我们可以检查localStorage中的那个键。我更喜欢使用Redux,在那里处理身份验证状态。
如果您将使用Redux,您可以编写一个动作创建器和减速器来检查身份验证状态并设置您的状态(如auth)并检查您需要的状态。