【问题标题】:User redirection to the application root path in UI5用户重定向到 UI5 中的应用程序根路径
【发布时间】:2021-07-05 16:33:27
【问题描述】:

我从 UI5 应用程序通过 Fetch API 向服务器端发送请求,并在服务器端发送响应并重定向到 UI5-app 根目录:

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-app 根目录?我想尽可能地防止重定向,例如借助浏览器的 DevTools。

【问题讨论】:

  • 为什么?您必须假设任何时候任何用户都可以在地址栏中手动输入任何可能的路线,从而访问您应用程序的任何视图。
  • @Marc,理想情况下,我想将 UI5 应用程序视图与登录视图分开,因此如果用户没有有效的 cookie,那么他应该无法打开除登录视图之外的任何视图。

标签: redirect sapui5 http-redirect


【解决方案1】:

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

你可能对一些后端技术和浏览器很幸运,但一般来说这不起作用。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 2020-03-03
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 2019-10-25
      • 2021-04-15
      相关资源
      最近更新 更多