如果尝试直接在浏览器中访问安全页面,NextJS 如何处理它们

How does NextJS handle secure pages if tries to access them directly in the browser

提问人:Md. Khalakuzzaman Khan 提问时间:10/9/2023 更新时间:10/9/2023 访问量:24

问:

当用户未登录并尝试直接在浏览器中访问安全页面时,NextJS 如何处理安全页面?

现在,我正在尝试访问(一个安全页面)。它显示了仪表板 DOM 的,请参见下面的屏幕截图。/dashbaord

Dashboard HTML showing though I am not logged in, It redirects to login immediately.

我是NextJS的新手。 提前致谢!

HTML ReactJS 安全 DOM 下一个.js

评论


答:

1赞 Dimuthu Abeysinghe 10/9/2023 #1

成功登录系统后,您可以将一些数据添加到浏览器的本地存储中。在仪表盘页面,需要检查本地存储是否有你成功登录时插入的值,然后用户才能加载该页面,否则可以跳转到登录页面。

在登录页面上,如果用户输入了正确的凭据,则需要将一些值设置为本地存储。

localStorage.setItem("login", "logged");

在仪表盘页面,需要检查本地存储是否有会话。

const router = useRouter();

useEffect(() => {
  if(localStorage.getItem("login") !== "logged"){
    router.push('/login');
  }
}, []);

注意:这不是合适的方法。保留一些令牌,而不是“logged”值。

评论

0赞 Md. Khalakuzzaman Khan 10/9/2023
似乎这种方法更合适。感谢您的回答 <3middleware.js