【问题标题】:SharePoint Online modern sites have an issue with URL contains spacesSharePoint Online 新式网站存在 URL 包含空格的问题
【发布时间】:2021-08-26 12:01:38
【问题描述】:

我们的客户(至少有两个来自不同地区)报告了访问 URL 中包含空格的 SharePoint 网站的问题。在新标签中打开一些网站后,他们得到

经过一番调查,我们发现 SharePoint 网站在浏览器中注册了 Service Worker。

Service Worker 拦截来自当前页面的所有请求,应用一些逻辑并且逻辑中的一个分支导致错误。 让我解释一下会发生什么: 当您在网站上有自定义主页并导航到根网站 URL(例如 https://tenant.sharepoint.com/sites/mysite)时,SharePoint 会自动将您重定向到自定义主页(例如 https://tenant.sharepoint.com/sites/mysite/SitePages/MyCustomHP.aspx) 所有这些请求都由 Service Worker 处理,并将此重定向视为重新身份验证的触发器,并将您发送到 Authenticate.aspx 按顺序,Authenticate.aspx 工作不正确:

重现步骤:

  1. 打开任何现代团队网站(在 Edge 或 Chrome 中,我在 Edge 中尝试过) (如https://tenant.sharepoint.com/sites/my-team
  2. 创建一个带有空格的现代子站点并导航到它。 (例如 https://tenant.sharepoint.com/sites/my-team/Site 带空格)
  3. 在子站点上打开页面库并创建自定义站点页面
  4. 设为首页
  5. 打开新选项卡并粘贴 URL [https://tenant.sharepoint.com/sites/带空格的站点]

您可以在上面看到的结果。嗯...无法访问此页面

问题:

  1. 为什么 Authenticate.aspx 工作不正常?
  2. 可能是Service Worker中的逻辑错误?并且这种重定向不应该导致重新认证,或者它应该通过其他方式将参数编码到 Authenticate.aspx?
  3. 什么时候修复:)?

可能的解决方法

  1. 在开发工具中清除 IndexedDB/Route.Config 并重启 Service Worker
  2. 更改网址并删除空格

【问题讨论】:

    标签: sharepoint service-worker sharepoint-online


    【解决方案1】:

    Microsoft 在 2021-08-27 版本中修复了他们的 Service Worker 代码 现在,以前的错误代码如下所示: 如您所见,添加了双重编码检查

    在您查看以上内容之前它的外观。

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2016-08-29
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 2013-11-13
      • 2020-08-10
      相关资源
      最近更新 更多