Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS-使用Active Directory进行身份验证_Node.js_Authentication_Active Directory_Authorization - Fatal编程技术网

Node.js NodeJS-使用Active Directory进行身份验证

Node.js NodeJS-使用Active Directory进行身份验证,node.js,authentication,active-directory,authorization,Node.js,Authentication,Active Directory,Authorization,我正在构建一个nodejs服务器,并决定通过active directory执行身份验证 所以我的第一个问题是:nodejs有可能吗?如果是的话,有人能告诉我相关的文章/文档/插件吗 我的第二个问题是关于身份验证本身。 我的服务器是restful的,所以每次我向服务器请求某些内容时,我基本上都必须给出某种形式的标识 我想到了下一个流程: 在客户端的登录页面,我向服务器发送用户名和密码 在服务器上,我使用客户端发送的凭据通过active directory进行身份验证 收到active direc

我正在构建一个nodejs服务器,并决定通过active directory执行身份验证

所以我的第一个问题是:nodejs有可能吗?如果是的话,有人能告诉我相关的文章/文档/插件吗

我的第二个问题是关于身份验证本身。 我的服务器是restful的,所以每次我向服务器请求某些内容时,我基本上都必须给出某种形式的标识

我想到了下一个流程:

在客户端的登录页面,我向服务器发送用户名和密码

在服务器上,我使用客户端发送的凭据通过active directory进行身份验证

收到active directory的响应后,我会检查该响应是否有效,如果登录成功,我还会检查用户在active directory中是否具有使用我的服务的适当权限

一旦所有这些都得到验证,我就为用户创建一个令牌。 来自客户端的每个请求都必须包含一个有效令牌

这似乎是解决此问题的最标准方法,它比每次请求发送用户名/密码并使用活动方向进行身份验证要简单和安全得多

然而有些事情困扰着我

例如:如果系统管理员决定从active directory中删除用户或删除其使用“我的服务”的权限,该怎么办?那个用户仍然有一个令牌,允许他访问我的服务

我可以设置令牌的到期时间,但除非该到期时间为1秒,否则服务器将无法与活动目录真正同步

你认为代币是解决这个问题的方法吗?或者我应该通过发送用户名和密码来完成每个请求

另一种方法是向客户端提供令牌,但在服务器上,将该令牌与活动目录用户名和密码关联。每个请求,服务器都将通过active directory验证?这是个好办法吗

谢谢,
Arik

我写这篇文章有点晚了,但是:我正在创建一个node.js-ember应用程序,它使用node-activedirectory。当然,node.js也可以:node-activedirectory或ldapjs<很遗憾,我对第二个问题一无所知。是的,可以进行检查。
您可以使用节点activedirectory中的身份验证功能,然后使用
isMemberOf
功能。节点activedirectory工作正常,因此您每次都可以进行身份验证,这是一个问题。

是的,如果用户已登录,他将一直登录到会话或cookie过期(无论您想选择什么),或者您可以创建如下内容:每次刷新页面后,节点activedirectory仅检查用户是否存在<代码>用户存在

我希望我已经澄清了你的一些想法

你好,拉法