如何允许RESTful应用程序在Caché;中使用系统类;?

如何允许RESTful应用程序在Caché;中使用系统类;?,rest,intersystems-cache,Rest,Intersystems Cache,当尝试将任何RESTful应用程序的“Dispatch Class”设置为系统包中的类保持时,例如,“%WebTerminal.Router”,对此web应用程序的任何请求都会响应“403禁止” 然而,当我将包重命名为“WebTerminal.Router”(不带“%”符号)并将dispatch类设置为此类时,一切都很好 是否有任何方法“允许”RESTful应用程序使用系统类?在CSP上下文中允许%类的3种方法: a) 允许所有%类: Set ^SYS("Security", "CSP", "A

当尝试将任何RESTful应用程序的“Dispatch Class”设置为系统包中的类保持时,例如,“%WebTerminal.Router”,对此web应用程序的任何请求都会响应“403禁止”

然而,当我将包重命名为“WebTerminal.Router”(不带“%”符号)并将dispatch类设置为此类时,一切都很好


是否有任何方法“允许”RESTful应用程序使用系统类?

在CSP上下文中允许%类的3种方法:

a) 允许所有%类:

Set ^SYS("Security", "CSP", "AllowPercent")=1
b) 允许一个应用程序使用一个类:

Set ^SYS("Security", "CSP", "AllowClass", application, class)=1
c) 允许所有应用使用一个类:

Set ^SYS("Security", "CSP", "AllowClass", 0, class)=1

任何命令都必须在%SYS命名空间中执行。

这不是RESTfull问题,它适用于所有类。您可以在文档中阅读。允许它这么做

zn "%SYS"
Set ^SYS("Security", "CSP", "AllowPrefix", 0, "%WebTerminal") = 1

非常感谢。在我的例子中,完美的解决方案是
set^SYS(“安全”、“CSP”、“AllowClass”、“/terminal/”、%WebTerminal.Router”)=1
(需要在web应用程序名称末尾加斜杠)谢谢!想知道我在文档中错过了这个时刻。