使用Windows身份验证登录Angular App

时间:2017-11-29 19:20:30

标签: node.js angular login passport.js windows-authentication

我创建了一个角度2应用程序。现在,这些是Windows身份验证的要求。

1)如果组织中的任何用户访问此应用程序,则他不应该获得登录提示,并且应该能够直接登录进入应用程序。

2)如果组织中的任何 特定用户 尝试访问该应用程序,那么他应该获得特定的角色(像管理员,经理),并能够直接登录。

3)如果组织外的任何用户试图访问该应用程序,他应获取登录提示

编辑:后端也将发挥重要作用。我使用节点js和express创建了rest API。那么this passport package会帮助我吗?我在我的节点js rest API上实现了passport.js,但是现在如何在角度方面验证那个东西。

任何帮助都将受到赞赏和赏金。

1 个答案:

答案 0 :(得分:5)

为了实现这一目标,后端将是您的主要通话点,passport.js(在您的node.js中实施而不是您的客户端)将允许您执行大量繁重工作,但是仍然需要对您的Web服务器进行一些基本更改。

如果您希望客户端知道用户具有哪种角色,我建议您在服务器端创建返回这些的API,那么您希望在此处实现IWA(集成Windows身份验证)变量作为其响应的一部分(然后将它们存储在某处以供您使用angular2)。

例如,你可以让/ authCheck返回{role:[],用户名:"用户名"如果用户未经过身份验证,则返回401.这样,如果直通IWA失败,您可以通过将用户定向到登录页面来处理401响应。