gpt4 book ai didi

angularjs - 使用 LDAP 身份验证的 Angular JS SPA

转载 作者:行者123 更新时间:2023-12-04 07:21:11 25 4
gpt4 key购买 nike

我正在写 AngularJS调用 Rest 完整 Web 服务的 SPA 应用程序。后端正在写JAX-RS ,部署在 Tomcat 7 .我正在使用 HTTPS, SSL用于从 SPA 传输数据至JAX-RS
需求

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

  • 问题
  • 我认为进行 LDAP 身份验证有两种选择:
  • 使用核心 java http://docs.oracle.com/javase/jndi/tutorial/ldap/security/ldap.html 进行 LDAP 身份验证
  • 使用 Spring 安全性(我不熟悉它,不确定是否可能。我想我应该将用户名和密码发送给休息服务。休息服务将注入(inject) spring 安全库,并且可以使用身份验证功能。我我对吗?)
  • 管理用户 session 。用户通过身份验证后,应将其保存在某处,以便用户可以进行操作,直到其登录未过期。
    我该怎么做?

  • 我应该选择哪种方式?我该怎么做 LDAP 身份验证 session 管理 ?

    任何人都可以给任何 建议示例链接 ?

    最佳答案

    所以,

  • 使用 JNDI 的 LDAP 身份验证工作得很好,您也可以使用整洁的 UnboundID LDAP Java API。可以在此处找到一个简单的 LDAP 绑定(bind)示例: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 .
  • 在 Angular/前端,你最好的选择是使用 JWT token 。这一切都在此处通过示例进行了详细说明:http://code.tutsplus.com/tutorials/token-based-authentication-with-angularjs-nodejs--cms-22543 .

  • 在本质上:
  • 一旦用户成功绑定(bind)到 LDAP,您的后端身份验证 REST 应该在响应中返回 JWT token 。这个 token 将包含一些用户数据,并且应该被加密(见上面的链接)。
  • 您的 Angular 应用程序应在成功登录后(在登录 View 的 Controller 中)将该 token 设置为客户端浏览器上的 cookie(“set-cookie”响应 header )。
  • 然后,客户端将在向您的应用发出的每个请求中显示该 cookie/JWT token 。
  • 然后,您的应用程序将需要验证每个请求上提供的 token (在您的 SPA 的 Controller 中)。您可能还想将用户身份验证数据添加到您的 $scope 中,以便您可以在 View 中使用它。

  • 希望能帮助到你...

    关于angularjs - 使用 LDAP 身份验证的 Angular JS SPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29258204/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com