Windows .net core 中的身份验证自动登录 API
Windows authentication auto login in .net core API
我想使用 windows 身份验证自动登录到 .net core API。
我已启用 windows 身份验证,其余所有身份验证均保持禁用状态。现在我正在尝试 运行 API。其提示弹出窗口输入登录凭据。
我不想要任何要求用户输入登录详细信息的弹出窗口。它应该使用当前登录用户自动进行身份验证。但是,如果我在该弹出窗口中输入登录详细信息,它仍然没有获得身份验证,它一直要求我输入凭据。
尝试过的方法:
- 在IIS中,应用程序池的身份设置自定义账户,(当前登录账户为管理员)
- 启用匿名身份验证以及 windows 身份验证。 (当我这样做时 API 不会为登录提供弹出窗口,但它为 User.Identity.Name 提供空对象)
参考:
参考这个article
实现了windows认证
注意:当我从 visual studio (IIS Express) 运行 API 它工作正常,但是当我将 API 托管到本地 IIS 时,我面临着如上所述的挑战
您必须将主机文件中指定的域列入白名单才能使 windows 身份验证生效:
- 单击开始,单击 运行,键入 regedit,然后单击确定。
- 在注册表编辑器中,找到以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- 右键单击“参数”,单击“新建”,然后单击“DWORD(32 位)值”。
- 键入
DisableStrictNameChecking
并按 ENTER。
- 双击
DisableStrictNameChecking
注册表值并在“数值数据”框中键入 1,单击“确定”
- 在注册表编辑器中,找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击 MSV1_0,指向新建,然后单击多字符串值。
- 键入
BackConnectionHostNames
,然后按 ENTER。
- 右键单击
BackConnectionHostNames
,然后单击“修改”。
- 在“数值数据”框中,键入主机名或本地计算机上站点的主机名,然后单击“确定”。
- 退出注册表编辑器,然后重新启动 IISAdmin 服务。
我想使用 windows 身份验证自动登录到 .net core API。
我已启用 windows 身份验证,其余所有身份验证均保持禁用状态。现在我正在尝试 运行 API。其提示弹出窗口输入登录凭据。
我不想要任何要求用户输入登录详细信息的弹出窗口。它应该使用当前登录用户自动进行身份验证。但是,如果我在该弹出窗口中输入登录详细信息,它仍然没有获得身份验证,它一直要求我输入凭据。
尝试过的方法:
- 在IIS中,应用程序池的身份设置自定义账户,(当前登录账户为管理员)
- 启用匿名身份验证以及 windows 身份验证。 (当我这样做时 API 不会为登录提供弹出窗口,但它为 User.Identity.Name 提供空对象)
参考: 参考这个article
实现了windows认证注意:当我从 visual studio (IIS Express) 运行 API 它工作正常,但是当我将 API 托管到本地 IIS 时,我面临着如上所述的挑战
您必须将主机文件中指定的域列入白名单才能使 windows 身份验证生效:
- 单击开始,单击 运行,键入 regedit,然后单击确定。
- 在注册表编辑器中,找到以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- 右键单击“参数”,单击“新建”,然后单击“DWORD(32 位)值”。
- 键入
DisableStrictNameChecking
并按 ENTER。 - 双击
DisableStrictNameChecking
注册表值并在“数值数据”框中键入 1,单击“确定” - 在注册表编辑器中,找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击 MSV1_0,指向新建,然后单击多字符串值。
- 键入
BackConnectionHostNames
,然后按 ENTER。 - 右键单击
BackConnectionHostNames
,然后单击“修改”。 - 在“数值数据”框中,键入主机名或本地计算机上站点的主机名,然后单击“确定”。
- 退出注册表编辑器,然后重新启动 IISAdmin 服务。