繁体   English   中英

Angular JS SPA使用LDAP身份验证

[英]Angular JS SPA using LDAP authentication

我正在编写一个AngularJS SPA应用程序,它调用Rest完整的Web服务。 后端正在JAX-RS上编写,部署在Tomcat 7 我正在使用HTTPS, SSL将数据从SPA传输到JAX-RS

要求

  1. 我必须进行LDAP身份验证。 (我会将用户名和密码发送到Web服务,它应该进行身份验证)
  2. 我必须进行用户的会话管理(因为,当经过身份验证的用户向Web服务发送请求时,用户不必再次进行身份验证)

问题

  1. 我认为进行LDAP身份验证有两种选择:

  2. 管理用户会话。 一旦用户通过身份验证,就应将其保存在某处,以便用户可以在其登录未到期之前执行操作。 我该怎么做?


我应该选择哪种方式? 我该如何进行LDAP身份验证会话管理


任何人都可以提供任何建议示例链接吗?

所以,

  1. 使用JNDI的LDAP身份验证工作正常,您也可以使用整洁的UnboundID LDAP Java API。 可以在此处找到一个简单的LDAP绑定示例: https//code.google.com/p/ldap-sample-code/source/browse/trunk/src/main/java/samplecode/bind/SimpleBindExample.java

另请注意,您可以使用Node.JS模块作为后端,例如,Passport.JS身份验证框架提供了许多与身份验证和联合相关的功能/功能(即执行“使用Google登录”等操作。 )。 见: passportjs.org

  1. 在Angular / frontend方面,最好的办法是使用JWT令牌。 这里的例子都有详细解释: http//code.tutsplus.com/tutorials/token-based-authentication-with-angularjs-nodejs--cms-22543

在本质上:

  • 一旦用户成功绑定到LDAP,您的后端身份验证REST应在响应中返回JWT令牌。 此令牌将包含一些用户数据,并应加密(请参阅上面的链接)。
  • 您的Angular应用程序应在成功登录后将该令牌设置为客户端浏览器上的cookie(“set-cookie”响应头)(因此在Login视图的Controller中)。
  • 然后,客户端将根据它对您的应用程序发出的每个请求呈现该cookie / JWT令牌。
  • 然后,您的应用将需要验证每个请求(在SPA的控制器中)上显示的令牌。 您可能还希望将用户身份验证数据添加到$ scope中,以便在视图中使用它。

希望能帮助到你...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM