gpt4 book ai didi

c# - 在非管理员帐户下运行自托管的 OWIN 网站

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:36 41 4
gpt4 key购买 nike

在非管理员帐户“Domain\test”下的命令行上运行以下 c# 代码时出现错误“system.net.httplistenerexception:访问被拒绝”,但在管理员提升帐户下运行时它有效“域\测试”(例如在 Windows 命令行上以管理员身份运行):

WebApp.Start(new StartOptions("http:\localhost") { Port = 5000 });

我一直在尝试使用 Running self-hosted OWIN Web API under non-admin account 中建议的不同选项,但它们都不适合我。

你能帮忙吗?

最佳答案

默认情况下,非管理员帐户无法创建 URL 预留。要允许用户绑定(bind)到给定的 URL,您需要 add the URL reservation代表非管理用户。

例如,要允许 CORP\NonAdmin 绑定(bind)到端口 8080 上的任何地址(但前提是它后跟 /MyUri),您可以在提升的上下文:

netsh http add urlacl url=http://+:8080/MyUri user=CORP\NonAdmin

如果您想查看哪些预订已经存在,您可以运行以下命令:

netsh http show urlacl

编辑:

我发现您仍有问题。请提供以下命令的输出:

netsh http show urlacl

输出应包含类似于以下内容的条目:

Reserved URL            : http://+:5000/
User: Domain\test
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-##-##########-#########-##########-#######)

编辑:

我看到您发布了 netsh 命令的输出。

第一个条目的 SDDL 在我看来不正确。此外,由于存在两个具有不同 SDDL 值的重叠 URL 保留,Windows 可能会将两者混淆。

您可能希望删除两个 URL 保留并将它们替换为一个条目。例如:

删除重叠条目:

netsh http delete urlacl url=http://+:5000/
netsh http delete urlacl url=http://localhost:5000/

现在添加一个条目:

netsh http add urlacl url=http://+:5000/ user=Domain\test

关闭所有窗口(可能重新启动)并再次尝试运行控制台(自托管网络)应用程序。

如果这不起作用,请告诉我,我会尽力提供帮助。

编辑:

目标是创建一个如下所示的 URL 预留:

Reserved URL            : http://+:5000/
User: Domain\test
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-21-839522115-1972579041-2146381891-8170)

关于c# - 在非管理员帐户下运行自托管的 OWIN 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51959877/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com