ASP.NET 核心 Windows 身份验证从 UI 网站传递到 API
ASP.NET Core Windows Authentication pass through from UI website to API
Windows Server 2012 上的 IIS 设置有 2 个项目:
- example.com:
ASP.NET Core MVC
项目 VueJS
作为 javascript 框架。
- api.example.com:
ASP.NET Core Web API
项目提供给 UI 项目。
example.com
使用 Windows 身份验证设置,api.example.com
使用匿名和 Windows 身份验证设置。
两个项目都有一个单独的Application Pool
。
一切正常,除了当我访问 example.com
网站时,系统提示我输入 example.com
的 AD 凭据,之后我得到另一个 api.example.com
的凭据.
因此用户需要输入两次凭据。有没有办法将其减少为一个并将凭据发送到两个网站?
我正在使用 Google Chrome 作为浏览器来使用该网站。
好的,将登录减少为零。在 example.com
上禁用了 Windows 身份验证,因为所有身份验证都是在 API 项目上完成的,因此无需在此处应用它。然后在 Internet Explorer > Settings > Security > Intranet sites
下添加 api.example.com
并且知道客户端在域内工作时可以直接工作而无需应用凭据。
Windows Server 2012 上的 IIS 设置有 2 个项目:
- example.com:
ASP.NET Core MVC
项目VueJS
作为 javascript 框架。 - api.example.com:
ASP.NET Core Web API
项目提供给 UI 项目。
example.com
使用 Windows 身份验证设置,api.example.com
使用匿名和 Windows 身份验证设置。
两个项目都有一个单独的Application Pool
。
一切正常,除了当我访问 example.com
网站时,系统提示我输入 example.com
的 AD 凭据,之后我得到另一个 api.example.com
的凭据.
因此用户需要输入两次凭据。有没有办法将其减少为一个并将凭据发送到两个网站?
我正在使用 Google Chrome 作为浏览器来使用该网站。
好的,将登录减少为零。在 example.com
上禁用了 Windows 身份验证,因为所有身份验证都是在 API 项目上完成的,因此无需在此处应用它。然后在 Internet Explorer > Settings > Security > Intranet sites
下添加 api.example.com
并且知道客户端在域内工作时可以直接工作而无需应用凭据。