Asp.net 带有.NETWebAPI的AngularJS:使用AD进行身份验证

Asp.net 带有.NETWebAPI的AngularJS:使用AD进行身份验证,asp.net,.net,angularjs,authentication,asp.net-web-api,Asp.net,.net,Angularjs,Authentication,Asp.net Web Api,我有一个.NETWebAPI,其中包含一个Angular应用程序调用的一系列端点/方法。现在我想针对我们的active directory实现登录系统,并想知道我的选项是什么 在过去,它很简单:windows或forms身份验证,然后只是web.config中的一些简单配置,可能是一个自定义提供程序。但现在似乎有更多的选项与OWIN、OAuth、基于令牌的身份验证等 我从哪里开始?我在Angular应用程序上有一个带有用户名、密码和登录按钮的表单,后端有active directory。用户点击

我有一个.NETWebAPI,其中包含一个Angular应用程序调用的一系列端点/方法。现在我想针对我们的active directory实现登录系统,并想知道我的选项是什么

在过去,它很简单:windows或forms身份验证,然后只是web.config中的一些简单配置,可能是一个自定义提供程序。但现在似乎有更多的选项与OWIN、OAuth、基于令牌的身份验证等

我从哪里开始?我在Angular应用程序上有一个带有用户名、密码和登录按钮的表单,后端有active directory。用户点击登录按钮后会发生什么?任何方向都会有帮助


谢谢。

好吧,这取决于你实际需要什么

如果只想对AD用户进行身份验证,则可以尝试代表他们在AD中进行身份验证,如果成功,则返回令牌或身份验证cookie

但是我不认为让用户使用他们的域密码是一个好主意,除非你有双重身份验证

最好使用附加数据扩展AD模式,以便通过您的服务进行身份验证,或者甚至使用带有关联域用户信息的独立身份验证服务器。看看在SQLServer中是如何完成的(但方向相反):您需要定义与域登录对应的内部用户。这种方法允许您拥有不属于AD的用户,有时这对于外包某些任务很重要


看看

用户来自哪里?是内联网吗?是的,现在是内联网如果是内联网,没有什么可以阻止您按原样使用windows身份验证。您甚至不需要身份验证表单。但正如我在回答中提到的,这取决于您的进一步计划。如何使用Angular作为前端进行windows身份验证?我仍然需要一个带有用户名/密码字段和提交按钮的角度视图,对吗?有关使用AngularJS/ASP.NET/AD的更全面的演练,请参阅。请注意,这仅在NT登录用户始终正确的情况下才可行——如果用户共享工作站/登录等,请忘记这一点。