【发布时间】:2019-10-07 07:55:51
【问题描述】:
我有一个使用 2 个 NET Core ASP.NET 层的多层应用程序。
- 01 层
- 通过 ASP.NET Core 托管的 React JS
- 02 层
- 后端 HTTP 休息
Tier 01 使用 NTLM,因此当用户打开浏览器时,ASP.NET Core 会加载 React SPA,并且我可以从 ASP.NET Core 获取当前 Windows 用户的 IPrincipal。不幸的是,后端始终在 App Pool 服务帐户的上下文中运行。
在这种情况下,从 React 使用运行应用程序的 Windows 帐户调用后端的正确方法是什么?有没有办法在前端NET Core主机中生成一个Token,比如OAuth,然后传给后端?
注意
我确实有架构要求,我不能使用用户名和密码,我不能使用基本身份验证。前端必须使用 NTLM 打开并显示当前的 Windows 帐户(这部分正在工作)
【问题讨论】:
-
您的用户是否在 Azure Active Directory 中声明?还是本地部署的 Active Directory?
-
公司 AD,我们没有在这种情况下使用 Azure
-
@Raffaeu,我有一个相同的场景,其中我有一个 react 应用程序(在 windows env 中)和用于后端的 spring boot REST API,我只希望每当用户打开我想要的 react 应用程序时在我的后端登录系统用户(总是windows)的用户名进行身份验证。你能推荐点什么吗?
-
在 Spring 中最简单的方法是使用 Spring 操作来托管您的 React,以便在加载 React 客户端应用程序之前强制进行 Windows 身份验证要在 Spring 上使用 Windows 进行身份验证,您可以轻松使用 Waffle
标签: c# asp.net asp.net-core windows-authentication