需要什么权限才能使用System.Net.HttpListener而不添加命名空间预留?

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

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

在我的情况下,我build立一个应用程序,需要dynamic启动/停止许多不同的和可configuration的端口号上的许多HttpListener实例。 不幸的是我不能添加通配符端口号。 我希望避免添加大量的端口。

本文build议ACL逻辑与组绑定,而不是一些基本权限。

如果可能的话,你可以选择使用localhost作为前缀。 那么你不需要管理权限。

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

另外,不要使用前缀来区分用户,您可能需要使用文件夹或端口号来执行此操作。

以下代码片段没有管理员权限:

 using (var hl = new Httplistner()) { hl.Prefixes.Add("http://localhost:8008/myserver/"); hl.Start(); }