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

How to allow RESTful application to use system classes in Caché?

当尝试将任何 RESTful 应用程序的 "Dispatch Class" 设置为 class 保留在系统包中时,例如“%WebTerminal.Router”,对此的任何请求Web 应用程序响应“403 禁止访问”。

但是,当我将包重命名为 "WebTerminal.Router"(没有“%”符号)并将调度 class 设置为此 class 时一切正常。

有什么方法可以让 "allow" RESTful 应用程序使用系统 classes 吗?

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

a) 允许所有 % classes:

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

b) 允许一个应用一个 class:

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

c) 为所有应用允许一个 class:

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

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

这不是 RESTfull 问题,它适用于所有 %-类。您可以在文档 here 中阅读它。要允许它就这样做。

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