Windows .net core 中的身份验证自动登录 API

Windows authentication auto login in .net core API

我想使用 windows 身份验证自动登录到 .net core API。

我已启用 windows 身份验证,其余所有身份验证均保持禁用状态。现在我正在尝试 运行 API。其提示弹出窗口输入登录凭据。

我不想要任何要求用户输入登录详细信息的弹出窗口。它应该使用当前登录用户自动进行身份验证。但是,如果我在该弹出窗口中输入登录详细信息,它仍然没有获得身份验证,它一直要求我输入凭据。

尝试过的方法:

参考: 参考这个article

实现了windows认证

注意:当我从 visual studio (IIS Express) 运行 API 它工作正常,但是当我将 API 托管到本地 IIS 时,我面临着如上所述的挑战

您必须将主机文件中指定的域列入白名单才能使 windows 身份验证生效:

  1. 单击开始,单击 运行,键入 regedit,然后单击确定。
  2. 在注册表编辑器中,找到以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. 右键单击“参数”,单击“新建”,然后单击“DWORD(32 位)值”。
  4. 键入 DisableStrictNameChecking 并按 ENTER。
  5. 双击 DisableStrictNameChecking 注册表值并在“数值数据”框中键入 1,单击“确定”
  6. 在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  7. 右键单击 MSV1_0,指向新建,然后单击多字符串值。
  8. 键入 BackConnectionHostNames,然后按 ENTER。
  9. 右键单击 BackConnectionHostNames,然后单击“修改”。
  10. 在“数值数据”框中,键入主机名或本地计算机上站点的主机名,然后单击“确定”。
  11. 退出注册表编辑器,然后重新启动 IISAdmin 服务。