允许用户启动侦听非本地主机IP的OWIN自托管Web服务需要什么权限?
我试图在命令行app / windows服务中运行自托管的Web服务。
我一直在尝试很多事情。
应用程序在机器mydomainname上运行,IP地址为192.168.0.153:
我构建应用程序,以便WebApp.Start()使用url" http://localhost:9980/"
进行初始化我构建应用程序,以便WebApp.Start()使用url" http://+:9980/"
进行初始化但事情就是这样 - 我不能把它交给那些要求以管理员身份运行的操作。
所以我尝试构建应用,以便WebApp.Start()使用多个网址进行初始化:" http://localhost:9980/"," http://127.0.0.1:9980/&#34 ;," http://mydomainname:9980/"。 (注意 - 不包括192.168.0.153)。
所以我尝试构建应用程序,以便WebApp.Start()使用多个localhost网址进行初始化:" http://localhost:9980/"," http://127.0.0.1:9980/&# 34 ;.
所以我尝试构建应用程序,以便WebApp.Start()使用" http://192.1680.153:9980/"初始化。 (服务器计算机的IP地址)。
我一直在浏览试图寻找建议,对于所有这一切,我已经看过帖子说我需要使用netsh来配置urlacl,帖子说我可以&#39没有配置任何urlacls,我从任何人身上看到的任何内容都没有表明任何人对于它的工作方式或应该如何工作有任何明确的答案。
我似乎很清楚,为了启动OWIN,用户必须拥有一些特定权限才能侦听非本地主机IP。该管理员拥有它,我的正常登录没有。
有没有人知道这个权限可能是什么,以及如何将其授予普通登录用户?
我无法提供需要管理员权限才能运行的应用。
但是,我可以提供一个应用程序,该应用程序在没有配置某些特定权限的用户运行时,以" HEY退出!您需要授予用户权限XXX"。
但是,允许用户启动侦听非本地主机IP的OWIN自托管Web服务需要什么权限?
答案 0 :(得分:1)
L.B的评论包括正确答案 - 我需要授予用户打开该特定端口的权限。
我修改了应用以识别该特定错误。当它抓取TargetInvocationException
InnerException
HttpListenerException
并且ErrorCode == 5
时,我会显示一条错误消息,告诉用户具体需要做什么:
在端口上启动WebApp:9980
错误用户无权在端口9980上启动webservice。
要授予用户在此计算机上启动Web服务的权限,请在管理控制台中运行(一次):
netsh http add urlacl url = http://+:9980/ user =< username>
或:
netsh http add urlacl url = http://+:9980/ user = EVERYONE