文章
· 十月 8, 2022 阅读大约需 2 分钟

第十章 CSP 架构 - Category

第十章 CSP 架构 - Category

Category: AllowPrefix

如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。

重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。

要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在%sys命名空间中使用以下命令:

Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value

其中

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

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

  • 前缀是名称的前几个字符。

  • 值为10

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

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

例如,要使/csp/webapp应用程序能够调用整个MyApp包,请使用以下命令:

Set ^SYS("Security", "CSP", "AllowPrefix", "/csp/webapps/", "MyApp.") = 1

请注意,前缀是 "MyApp.",前缀中的句点表示Web应用程序无法访问MyAppUtils等包。但是,Web应用程序可以访问包MyApp.UtilsMyApp.UnitTest

再举一个例子,要使所有应用程序都能够访问以my开头的所有包,请使用以下命令:

Set ^SYS("Security", "CSP", "AllowPrefix", 0, "My") = 1 

再举一个例子,假设 /csp/myapp 应用程序应该能够访问 %MyPkg 包中除类 %MyPkg.Class1 之外的所有类。在这种情况下,您将使用以下两个命令:

Set ^SYS("Security", "CSP", "AllowClass", "/csp/myapp/", "%MyPkg.Class1") = 0 
Set ^SYS("Security", "CSP", "AllowPrefix", "/csp/myapp/", "%MyPkg.") = 1

Category: AllowPercent

如果应用程序依赖于调用通常以 % 字符开头的包,则 AllowPercent 选项使这些类可用。

重要提示:如果应用程序依赖于调用上面列出的类以外的任何类,则使用它可能不安全。 建议确定是否需要调用此类,并为部署执行风险评估,以便您了解使该类可用的含义。

要使所有 Web 应用程序能够使用以 % 字符开头的所有包,请在 %SYS 命名空间中使用以下命令:

Set ^SYS("Security", "CSP", "AllowPercent") = 1

注意:或者使用值 0 来明确禁止任何 Web 应用程序访问这些包。

讨论 (0)1
登录或注册以继续