当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 从Node中的Active Directory获取经过身份验证的用户组

来源:互联网 收集:自由互联 发布时间:2021-06-16
我们被要求将我们的NodeJS应用程序移动到IIS( Windows Server 2012R2)下运行并与现有的Active Directory集成.我们被要求删除登录页面,而是使用Windows身份验证来获取(已经过身份验证的)用户的ID,并
我们被要求将我们的NodeJS应用程序移动到IIS( Windows Server 2012R2)下运行并与现有的Active Directory集成.我们被要求删除登录页面,而是使用Windows身份验证来获取(已经过身份验证的)用户的ID,并使用他/她所属的组来控制他们在应用程序中的授权级别.

我已经安装了iisnode以在IIS下运行我的应用程序,并且认为我将使用passport-windowsauth或node-activedirectory来获得组内部记录.但是,两者都需要用户/密码来验证用户.我的用户已经过身份验证,我无法访问他的密码(我也不应该).

如何从Active Directory获取经过身份验证的用户组?

这是我到目前为止所拥有的:

>安装并配置了iisnode
>为Web应用程序启用Windows身份验证
>将此添加到web.config:< iisnode promoteServerVars =“AUTH_USER,AUTH_TYPE”/>
>在我的index.js文件中,我可以调用console.log(req.headers [‘x-iisnode-auth_user’]);并获得正确的用户名 – 但我不知道如何从这里开始他/她的团体
>在任何情况下,我都不想重新询问用户他/她的密码

好吧,似乎没有人有兴趣看这个问题:).我假设IIS Node.js Active Directory是一个边缘情况.
以下是我最终解决这个问题的方法:

>将特殊用户添加到只能从IIS计算机登录的Active Directory(奖励:限制该用户的IP /进程/访问权限).
>将AD详细信息,用户名和密码添加到config.json文件(请参阅snippet).
确保将文件添加到.gitignore,以便它不会以repo结尾.
>使用node-ActiveDirectory首先以步骤1中的用户身份登录,然后询问登录用户的组(请参阅snippet).

网友评论