是否有任何关于使用[Restrict]
服务堆栈的属性的文档?
没有找到任何文档,我开始尝试解决这个问题。我发现你必须在 AppHost.cs Configure 事件中启用限制
var endpointHostConfig = new EndpointHostConfig
{
EnableAccessRestrictions = true,
};
然后我在请求 DTO 中添加了属性:
[Route("Hello/World", "GET")]
[Restrict(EndpointAttributes.InternalNetworkAccess)]
这不起作用...看起来删除了所有“默认”限制并仅用一个限制替换它?改用这个似乎可行:
[Restrict(InternalOnly = true)]
当我从本地局域网执行 GET 时,它可以工作,但从远程却不行。有趣的是,它从远程给出的“详细堆栈错误”是:
不满足以下限制:'\n -[InternalNetworkAccess, Secure, HttpHead, HttpPost, HttpPut, HttpDelete, HttpOther, OneWay, Soap11, Soap12, Xml, Jsv, ProtoBuf, Csv, Html, Yaml, MsgPack, FormatOther, AnyEndpoint] '
请注意,它甚至没有将 HttpGet 列为其中一种可能性——这确实有效。还提到了 Secure 而不是 InSecure ......我都没有特别要求。
我们能否澄清一下这到底应该如何工作?如果我想要求 SSL 怎么办 - 我将如何指定它?
如果我想在生产中要求 SSL,但不想在此端点的所有服务上登台怎么办?(意识到这可能是一种完全不同的配置方式)。