第十章 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
应用程序访问这些包。