【问题标题】:Basic authentication in AngularJSAngularJS 中的基本身份验证
【发布时间】:2015-02-19 02:17:19
【问题描述】:

我有一个带有基本身份验证的 RESTful 后端服务器。目前我正在用 AngularJS 实现一个前端页面来与服务器交互。谁能给我一些关于在 AngularJS 中实现基本身份验证的提示?我需要使用拦截器吗?

谢谢

【问题讨论】:

  • 在节点中,我在托管我的 API 和 Angular 应用程序的 express 应用程序上使用了 basic-auth 模块。一切都在同一个地方,这很容易。如果您使用基本身份验证,则应使用 https。

标签: angularjs


【解决方案1】:

您所说的基本身份验证是指 HTTP 身份验证吗?无论如何 - 如果您需要将经过身份验证的请求从 Angular 发送到后端服务器,那么是的,您需要使用 HTTP 拦截器。

当我之前使用 Angular 实现基于令牌的身份验证时,我发现这篇文章非常有帮助:https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/ - 但是在这方面有很多资源。

【讨论】:

    【解决方案2】:

    您可以使用 post 方法并处理结果(即,如果登录成功将一些标志成功设置为 true,否则将成功设置为 false)。

    backendURL = "http://someurl";
    postData = { username: 'USERNAME', password: 'password' };
    $scope.serverCall = $http.post(backendUrl, postData);
    $scope.serverCall.success(function(result,status,header,config){ //handle your result })
    $scope.serverCall.error(function(result,status,header,config){ //handle your Exceptions })
    

    注意:登录失败或成功只会出现success回调。如果后端出现异常,则只有它会到达error 回调。

    在后台

    { success: true } // If Login Success
    { success: false } // If Login Fail
    

    根据这个标志你可以处理它。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 2015-09-09
      • 2013-08-29
      • 2014-11-03
      • 2019-01-07
      • 2021-06-20
      • 2011-01-28
      • 1970-01-01
      相关资源
      最近更新 更多