2

我知道,如果用户是计算机上 BUILTIN\administrators 组的成员,您不需要添加命名空间保留来监听任何端口或 URI System.Net.HttpListener(即 HTTP.sys)。

但是,是否可以在不将该用户添加到 BUILTIN\administrators 组的情况下为用户或组提供所需的权限?

就我而言,我正在构建一个应用程序,该应用程序需要在许多不同且可配置的端口号上动态启动/停止许多 HttpListener 实例。不幸的是,我无法添加通配符端口号。我希望避免添加大量端口。

本文建议 ACL 逻辑与组相关联,而不是与一些底层权限相关联。

4

1 回答 1

0

如果可能,您可以选择localhost用作前缀。那么你就不需要管理权限了。

这种方法的缺点是无法从机器外部访问服务器,这可能是您的一个用例。

此外,您可能需要使用文件夹或端口号来区分用户,而不是使用前缀来区分用户。

以下代码段无需管理员权限即可工作:

using (var hl = new HttpListener())
{
    hl.Prefixes.Add("http://localhost:8008/myserver/");
    hl.Start();
}
于 2016-04-21T11:02:48.373 回答