第九章 CSP 架构 - CSP 应用程序设置

简介: 第九章 CSP 架构 - CSP 应用程序设置

第九章 CSP 架构 - CSP 应用程序设置

CSP 应用程序设置

CSP 服务器接收到传入的 HTTP 请求时,它使用本地 CSP 应用程序设置来确定如何处理请求。本节介绍 如何使用 CSP 应用程序设置处理 CSP 应用程序请求。

启用对 %CSP 页面的应用程序访问

以下规则管理对页面和类的访问:

  1. 默认情况下,允许用户应用程序访问以下页面:
  • 允许 /csp/sys/ 应用程序及其所有子应用程序的页面
  • 允许使用 isc/studio/templates//isc/studio/usertemplates/ 应用程序的页面
  1. 默认情况下,允许用户应用程序访问所有非 % 类
  2. 用户应用程序还可以访问以下类:
  • %CSP.Broker, %CSP.StreamServer, %CSP.Login, %CSP.PasswordChange, %CSP.PageLookup 被允许
  • %ZEN.SVGComponent.svgPage%ZEN.Dialog.* 是允许的,有以下附加条件
  • 不允许所有其他 %ZEN.*
  • 允许所有其他 %Z*
  • 允许所有 %z*

除了检查 CSP 应用程序中的设置外,还会检查允许的类。可以通过导航到管理门户上的系统管理 > 安全 > 应用程序 > Web 应用程序来查看和更改应用程序设置。因此,类引用必须通过两组测试才能被允许。

要允许访问其他类,请在 %SYS 命名空间中配置Global^SYS("Security","CSP","category") ,其中 categoryAllowClassAllowPrefixAllowPercent。以下部分描述了这些选项

重要提示:首先应用默认规则,然后按列出的顺序应用类别来完成检查。此外,每个关键字都可以被多次调用。这意味着可以使整个包可访问,然后限制对该包中的一个类的访问。

Background Information on the ^SYS Global

^sys global 名称空间中包含配置信息,从查看此全局的相关部分的当前内容开始会很有帮助。为此,请打开终端并切换到%sys命名空间。然后输入以下命令:

zw ^SYS("Security", "CSP")
复制代码

然后,系统为每个节点显示一行,显示其当前值。例如:

%SYS>zw ^SYS("Security", "CSP")
^SYS("Security","CSP")=3
^SYS("Security","CSP","AllowClass","/api/atelier/","%Api.Atelier")=1
^SYS("Security","CSP","AllowClass","/api/deepsee/","%Api.DeepSee")=1
^SYS("Security","CSP","AllowClass","/api/document/","%Api.Document")=1
^SYS("Security","CSP","AllowClass","/csp/samples/","%CSP.UI.Portal.About")=1
^SYS("Security","CSP","AllowClass","/csp/samples/","%SOAP.WebServiceInfo")=1
^SYS("Security","CSP","AllowClass","/csp/samples/","%SOAP.WebServiceInvoke")=1
^SYS("Security","CSP","AllowPrefix","/csp/samples/","%DeepSee.")=1
复制代码

Category: AllowClass

如果应用程序依赖于调用特定的类,请使用AllowClass选项使该类可用。

重要提示:如果应用程序依赖于调用任何类,而不是“启用对%CSP页的应用程序访问”部分开头列出的类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便您了解使类可用的含义。

要使给定的Web应用程序能够调用特定类,请在%sys命名空间中使用以下命令:

Set ^SYS("Security", "CSP", "AllowClass", "web-app-name", "package.class") = value
复制代码

其中

  • Web-app-nameWeb应用程序的名称,后跟一个尾随斜杠。

要使所有Web应用程序都能使用给定的类或包,请将web-app-name指定为0;在这种情况下,您可以省略括起来的引号。

  • Package.class是类的完全限定名。如果省略类,则允许指定包中的所有类。
  • 值为10

如果将其指定为1,则Web应用程序可以调用此类(或包)。

如果将其指定为0,则此Web应用程序无法调用此类(或包)。

例如,要使/csp/webapp应用程序能够使用类%User.Page,可以使用以下命令:

Set ^SYS("Security", "CSP", "AllowClass", "/csp/webapps/", "%User.Page") = 1
复制代码

或者,要使所有Web应用程序都能使用%User.Page,可以使用以下命令:

Set ^SYS("Security", "CSP", "AllowClass", 0, "%User.Page") = 1 
复制代码

再举一个例子,要使/csp/myapp应用程序能够使用%USER程序包中除%user.Other类以外的所有类,可以使用以下两个命令:

Set ^SYS("Security", "CSP", "AllowClass", "/csp/myapp/", "%User") = 1
Set ^SYS("Security", "CSP", "AllowClass", "/csp/myapp/", "%User.Other") = 0


目录
打赏
0
0
0
0
0
分享
相关文章
|
13天前
|
类似ComfyUI和Midjourney这样的文生图图生图应用的API与服务架构该怎么设计
文生图图生图应用的API与服务架构分析。或和微服务类似,但是不同。ComfyUI其 API 架构设计为我们理解此类应用提供了很好的参考模型。但距离生产级别的应用差距还有很远。
42 0
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
101 13
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
138 1
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
128 33
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
57 4
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
126 12
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
63 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等