首页 > 解决方案 > 如何防止在注销时显示 404 错误?

问题描述

我有一个关于注销路线的问题。当您在用户注销时查看演示页面时,控制台中会显示 404 错误,因为 CMSPageGuard 尝试从后端获取不存在的注销页面。这是一个小问题,但似乎不是故意的?

更重要的是,如果注销路径不存在,注销保护中的逻辑会重定向到“home”或“login”。

唯一的解决方法是在后端添加注销页面时不会出现 404 错误,即使它从未显示?

标签: spartacus-storefront

解决方案


简而言之,这是故意的。它是一项功能的一部分,它使确实需要可选注销页面的店面可以轻松地将其添加到 CMS 中,并且它将被 Spartacus 注销逻辑开箱即用。

你对幕后发生的事情是正确的。如果您查看文档中 LogoutGuard 的描述,其整体逻辑描述如下:

负责将用户路由到注销页面(如果可用)或重定向到主页。如果主页受到保护,则会将用户重定向到登录路径。

要验证注销页面是否可用,LogoutGuard会发出请求。如果注销页面不可用,则该请求会返回 404,这就是浏览器开发工具中显示的内容。

至于防止这些错误显示在日志中,目前没有配置可以关闭此功能。您可能会探索使用自定义LogoutGuard并覆盖该canActivate功能,但我不能 100% 确定这是可能的。


推荐阅读