Active Directory和Express / Node

时间:2018-05-15 17:56:30

标签: node.js express active-directory windows-authentication

我想将Active Directory与REST API Express后端一起使用:用户将在客户端填写用户名和登录表单,并通过后端通过其Active Directory凭据进行身份验证。然后,根据他们的用户组,他们会看到某些信息。我尝试了节点包passport-windowsauth,但我无法进行身份验证,可能是因为我不知道 bindDN bindCredentials 是什么。我也尝试了node-sspi,并且运气好了,但问题是它只是服务器端,据我所知,我无法创建然后允许用户从客户端进行身份验证的表单。我在IIS上托管这个站点,并使用iisnode作为后端。如何使用Node / Express服务器端和客户端登录表单,或者换句话说,不是.NET应用程序来实现此Active Directory身份验证?

2 个答案:

答案 0 :(得分:0)

Active Directory(AD)身份验证是通过使用AD工程师提供的凭据(而非用户表单中的凭据)绑定到Active Directory来完成的。绑定后,将搜索AD以查找匹配的凭据(来自用户表单)。

基本上,您需要与您的AD工程师讨论您应该使用的内容。

然后您需要用户表单发送的/login/路由,该路由完成登录(AD绑定,身份验证)并返回客户端。

更简单的解决方法是使用输入登录表单的凭据绑定到AD - 成功绑定意味着用户已登录。我将再次与您的AD工程师讨论他们希望如何完成此操作。我在过去遇到问题需要花费很长时间才能在绑定后对用户进行身份验证,因此我们将其用作解决方法。

你可能会问你的AD是否已经有单点登录选项 - 也许他们使用Shiboleth或类似的东西。

答案 1 :(得分:0)

您应该尝试使用该软件包:https://www.npmjs.com/package/ad我不确定它是否会满足您的要求,但是在节点/表达后端中使用Active Directory非常简单。