我正在使用Visual Studio 2017构建Intranet应用程序,并使用该模板创建带有Angular的.NET Core Web应用程序 . 由于它是一个Intranet应用程序,我们希望实现Windows身份验证 . 用户已登录到网络,我们不希望他们在访问应用程序时再次输入凭据 .
如何设置我的Angular应用程序,以便它可以识别已登录到网络并正确传递的用户 . 我们有一个Web API身份验证API,可以获取此用户ID并确定用户所在的AD组,以确定对应用程序的授权 .
我特别询问的问题是关于Angular Windows身份验证 . 不是Web API Windows身份验证 . 此外,我提出的具体问题是,我想了解如何将登录的Windows AD帐户传递到用于授权的服务,而无需要求用户在登录表单中专门输入其凭据 . 以下问题没有解决我的问题 .
How to configure ASP.NET Core application to use windows authentication?
1 回答
在客户端,您是否尝试在发出请求之前设置
withCredentials: true
?我创建了一个角度拦截器,并在那里设置属性,以便始终设置每个请求 . 像这样的东西:
然后在服务器端检查
User.Identity
,它将为您提供登录用户AD详细信息 .我已经这样做并使用Chrome我不必输入任何登录详细信息 . 它似乎不适用于我的Firefox,因为你必须第一次登录 .
希望这可以帮助 .