第十章 CSP 架构 - Category
Category: AllowPrefix
如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。
重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。
要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在%sys命名空间中使用以下命令:
Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value 复制代码
其中
Web-app-name是Web应用程序的名称,后跟一个尾随斜杠。
要使所有Web应用程序都能使用给定的类或包,请将web-app-name指定为0;在这种情况下,可以省略括起来的引号。
- 前缀是名称的前几个字符。
- 值为
1或0。
如果将其指定为1,则Web应用程序可以调用这些类(或包)。
如果将其指定为0,则此Web应用程序无法调用这些类(或包)。
例如,要使/csp/webapp应用程序能够调用整个MyApp包,请使用以下命令:
Set ^SYS("Security", "CSP", "AllowPrefix", "/csp/webapps/", "MyApp.") = 1 复制代码
请注意,前缀是 "MyApp.",前缀中的句点表示Web应用程序无法访问MyAppUtils等包。但是,Web应用程序可以访问包MyApp.Utils和MyApp.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 应用程序访问这些包。