我知道如果用户是计算机上BUILTIN \ administrators组的成员,则无需添加namespace reservation来侦听任何带System.Net.HttpListener
的端口或URI(即HTTP) .SYS)。
但是,如果不将该用户添加到BUILTIN \ administrators组,是否可以为用户或组授予所需权限?
在我的情况下,我正在构建一个应用程序,需要在许多不同且可配置的端口号上动态启动/停止许多HttpListener实例。不幸的是我无法添加通配符端口号。我希望避免添加大量的端口。
This article表明ACL逻辑与组绑定,而不是某些基础权限。
答案 0 :(得分:0)
如果可能,您可以选择使用localhost
作为前缀。那你就不需要行政权。
这种方法的缺点是无法从机器外部访问服务器,这可能是您的使用案例。
此外,您可能需要使用文件夹或端口号来代替使用前缀来区分用户。
以下代码段无需管理员权限即可使用:
using (var hl = new HttpListener())
{
hl.Prefixes.Add("http://localhost:8008/myserver/");
hl.Start();
}