Spartacus Storefront 里如何在 SmartEdit 访问环境下暂时禁用 Early login

简介: Spartacus Storefront 里如何在 SmartEdit 访问环境下暂时禁用 Early login

关于 Spartacus Early login 的功能,即如果当前客户没有登录,则显示 login page. 而不是显示原始页面。


有的客户期望 Spartacus 在 SmartEdit 环境下预览时,暂时禁掉这个功能。

首先,开发人员应该分析与需求相关的所有后果并对安全威胁进行建模,然后考虑是否接受它们,例如:


  1. 某些功能页面(例如CPQ配置器)在用户未登录时无法正常工作。
  2. 可能会打开一个安全漏洞(例如,恶意用户可能模拟/伪造处于智能编辑环境,并能够打开仅限登录用户访问的您商店的页面)。


有关编写自定义代码的提示

需要覆盖方法 ProtectedRoutesGuard.canActivate(),以便在 SmartEdit 环境下始终返回true。


要检查是否处于 SmartEdit 环境,需要使用方法 SmartEditLauncherService.isLaunchedInSmartEdit()


SmartEditLauncherService的主要目的是检查当前应用程序是否在SmartEdit环境下运行,并提供相关的功能来管理与SmartEdit的交互。以下是对SmartEditLauncherService用法的详细介绍:


1.引入SmartEditLauncherService:

首先,在使用SmartEditLauncherService之前,您需要在Spartacus应用程序的相关组件或服务中引入它。您可以通过以下方式将SmartEditLauncherService导入到您的组件或服务中:

import { SmartEditLauncherService } from '@spartacus/smartedit';


2.注入SmartEditLauncherService:

接下来,在组件或服务的构造函数中注入SmartEditLauncherService:

constructor(private smartEditLauncherService: SmartEditLauncherService) { }


3.检查是否在SmartEdit环境下:

您可以使用SmartEditLauncherService的isLaunchedInSmartEdit()方法来检查当前应用程序是否在SmartEdit环境下运行。该方法返回一个布尔值,指示当前是否处于SmartEdit环境。示例如下:

const isSmartEditLaunched = this.smartEditLauncherService.isLaunchedInSmartEdit();
if (isSmartEditLaunched) {
  // 在SmartEdit环境下执行相关逻辑
} else {
  // 在非SmartEdit环境下执行其他逻辑
}


需要注意的是,SmartEditLauncherService只在Spartacus与SAP Commerce后端进行SmartEdit集成时才会使用。如果您的应用程序不涉及SmartEdit或与其他后端集成,SmartEditLauncherService可能不会发挥作用。



相关文章
|
8月前
|
缓存 前端开发 JavaScript
基于 Spartacus 的 Angular Storefront 性能优化建议
基于 Spartacus 的 Angular Storefront 性能优化建议
|
9月前
|
缓存 自然语言处理 API
关于 Spartacus 开源 Storefront 在 PWA 模式下运行时的 index.html hash mismatch 问题
关于 Spartacus 开源 Storefront 在 PWA 模式下运行时的 index.html hash mismatch 问题
|
9月前
|
存储 资源调度 JavaScript
SAP 电商云的 Spartacus Storefront 部署到 CCV2 的前提条件
SAP 电商云的 Spartacus Storefront 部署到 CCV2 的前提条件
|
8月前
|
搜索推荐 JavaScript 前端开发
Spartacus 开源项目给 SAP Commerce Cloud Storefront 共享的一些有用的特性介绍
Spartacus 开源项目给 SAP Commerce Cloud Storefront 共享的一些有用的特性介绍
|
1月前
|
设计模式 JavaScript 测试技术
Spartacus 在 SmartEdit preview 读取 product 时,参数只有 product code
Spartacus 在 SmartEdit preview 读取 product 时,参数只有 product code
|
9月前
|
前端开发 JavaScript vr&ar
一款开源的 Angular Storefront 应用介绍,代号 Spartacus 诞生的历史背景
一款开源的 Angular Storefront 应用介绍,代号 Spartacus 诞生的历史背景
|
8月前
|
前端开发 安全 API
Above-the-Fold Loading 加载机制在 Spartacus Storefront 里的应用
Above-the-Fold Loading 加载机制在 Spartacus Storefront 里的应用
Spartacus Storefront 的 wishlist 设计
Spartacus Storefront 的 wishlist 设计
|
9月前
|
JavaScript 应用服务中间件 API
运行在 CCV2 环境上的 Spartacus Storefront 如果出现性能问题该怎么分析
运行在 CCV2 环境上的 Spartacus Storefront 如果出现性能问题该怎么分析
|
8月前
|
JavaScript 安全 前端开发
Spartacus 如何动态将 SmartEdit attribute 添加到 DOM 里,单步调试
Spartacus 如何动态将 SmartEdit attribute 添加到 DOM 里,单步调试