我知道如果用户是计算机上的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(); }