Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 调用RestMethod身份验证在本地服务器上失败_Powershell_Asp.net Core Webapi - Fatal编程技术网

Powershell 调用RestMethod身份验证在本地服务器上失败

Powershell 调用RestMethod身份验证在本地服务器上失败,powershell,asp.net-core-webapi,Powershell,Asp.net Core Webapi,我有一个WebApi(.Net Core 2,Windows身份验证)端点,我可以通过多种PS/Windows版本组合成功调用该端点: Invoke-RestMethod -Uri https://<fqdn>/api/notification -UseDefaultCredentials Invoke RestMethod-Urihttps:///api/notification -使用默认凭据 但是,当我在托管web应用程序的服务器上本地运行它时(使用相同的AD帐户),它无法

我有一个WebApi(.Net Core 2,Windows身份验证)端点,我可以通过多种PS/Windows版本组合成功调用该端点:

Invoke-RestMethod -Uri https://<fqdn>/api/notification -UseDefaultCredentials
Invoke RestMethod-Urihttps:///api/notification -使用默认凭据
但是,当我在托管web应用程序的服务器上本地运行它时(使用相同的AD帐户),它无法进行身份验证。来自其他计算机的请求的IIS日志显示发出请求的用户帐户,但本地请求显示该字段的空值

PS错误:

HTTP错误401.1-未经授权您没有查看权限 此目录或页面使用您提供的凭据

IIS日志条目:

2018-06-12 21:42:31 GET/api/通知-443- Mozilla/5.0+(Windows+NT;+Windows+NT+6.3;+en-US)+WindowsPowerShell/5.1.14409.1012 -401132121225581 0


来自本地服务器以外的任何其他计算机的条目将在端口号后面有DOMAIN\User,并且将成功。

禁用严格的名称检查。以下是文章的摘要:

步骤

  • 将DisableStrictNameChecking注册表项设置为1。有关如何执行此操作的详细信息,请参阅Microsoft知识库中的文章
  • 单击开始,单击运行,键入regedit,然后单击确定
  • 在注册表编辑器中,找到并单击以下注册表项: HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1\U 0
  • 右键单击MSV1_0,指向“新建”,然后单击“多字符串值”
  • 键入BackConnectionHostNames,然后按ENTER键
  • 右键单击BackConnectionHostNames,然后单击修改
  • 在“值数据”框中,键入主机名或本地计算机上站点的主机名,然后单击“确定”
  • 退出注册表编辑器,然后重新启动IISAdmin服务。(为此,我从Powershell提示符运行iisreset)

  • 请发布错误消息/日志。首先要禁用严格的名称检查。详情请参见以下内容:@Adam该帖子中的说明做到了!令人惊叹的!我将添加作为参考答案。