c# – AddressAccessDeniedException:在没有netsh的情况下解决它?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – AddressAccessDeniedException:在没有netsh的情况下解决它?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1165字,纯文字阅读大概需要2分钟。
内容图文
![c# – AddressAccessDeniedException:在没有netsh的情况下解决它?](/upload/InfoBanner/zyjiaocheng/802/e9a9d364853f4b0fade80d8a63354d90.jpg)
我遇到了异常AddressAccessDeniedException,因为我的processus没有权限注册URL.我首先以管理员身份运行我的程序:好吧,它有效.
但我现在想要分发我的应用程序,我希望每个用户都能够运行它而无需成为管理员.
有没有办法自动授予用户访问权限?
我看到了命令:
netsh http add urlacl url=http://+:8000/ user=DOMAIN\UserName
我应该用吗?如果有,怎么样?
我想做的就是在没有管理员的情况下授予访问权限…这样说,它似乎很愚蠢,但可能……
解决方法:
这是不可能的. Windows使用内核驱动程序处理HTTP请求,并在此驱动程序上打开侦听器由ACL(访问控制列表)保护.如果要打开侦听器以便应用程序可以侦听来自其他计算机的请求,则必须以管理员身份运行它以通过ACL,或者您必须具有权限(=您必须在ACL中).您还可以关闭UAC(用户访问控制)以绕过这些检查.
netsh是一个允许您为HTTP.sys(内核驱动程序)设置ACL的工具.您可以授予任何用户监听所选端口的权限,但显然您必须是管理员才能授予这些权限,或者您必须具有委派已配置权限的权限,否则此安全性的全部内容将消失.
将该netsh调用添加到您的安装包中,并要求以admin身份完成安装(这在许多应用程序中很常见).另请注意,netsh仅适用于Windows Vista,Windows 7,Windows Server 2008和Windows Server 2008 R2.对于Windows 2003和Windows XP(至少需要SP2),您需要另一个名为httpcfg的工具,它不是操作系统安装的一部分(必须单独安装).
内容总结
以上是互联网集市为您收集整理的c# – AddressAccessDeniedException:在没有netsh的情况下解决它?全部内容,希望文章能够帮你解决c# – AddressAccessDeniedException:在没有netsh的情况下解决它?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。