用户重定向到 UI5 中的应用程序根路径

User redirection to the application root path in UI5

我从一个 UI5 应用程序通过 Fetch API 向服务器端发送请求,然后在服务器端发送一个重定向到 UI5 应用程序根目录的响应:

import {constants as httpConstants} from "http2";

res.statusCode = httpConstants.HTTP_STATUS_MOVED_PERMANENTLY;
res.header("Location", "/");

UI5 应用程序收到响应,但浏览器未重定向用户。将用户重定向到应用根目录的唯一方法是:

sap.m.URLHelper.redirect("/", false);

问题是有什么方法可以强制浏览器在不使用 sap.m.URLHelper 的情况下将用户重定向到 UI5 应用根目录?我想尽可能地防止重定向,例如借助浏览器的 DevTools。

UI5 路由当前正在使用 # 部分(称为片段或锚点)。 这是 URL 的客户端部分,服务器未知。

您可能对某些后端技术和浏览器运气不错,但通常这行不通。

因为 DevTools 无论如何都可以操纵任何东西……确保后端是安全的。 UI 用户始终可以更改,无论您采用何种晦涩的安全措施。

您可以尝试使用HashChanger 将其路由回登录页面! 从服务器完成验证后,使用以下代码!

jQuery.sap.require("sap.ui.core.routing.HashChanger");
sap.ui.core.routing.HashChanger.getInstance().replaceHash("");