【问题标题】:How to authenticate users using restangular?如何使用restangular对用户进行身份验证?
【发布时间】:2015-11-02 15:48:22
【问题描述】:

我正在尝试使用 MEAN 创建 Web 应用程序,我正在尝试使用他们在注册期间创建的密码对用户进行身份验证。下面是我的 signin.html 的样子

    <div ng-controller ="MoviesSignCtrl">
  UserName</br>
  <input type="text" ng-model="movie.username" placeholder="Username">
  </br>
  </br>Password</br>
  <input type="password" ng-model="movie.password" placeholder="Password">
  </br></br>
  <input type="button" value="Login" ng-click="signFunction()">

</div>

我正在使用restangular来连接我的angularjs和节点api

下面是我的 angularjs 控制器

angular.module('clientApp')
  .controller('MovieEditCtrl', function (
    $scope,
    $routeParams,
    Movie,
    $location
  ) {
    $scope.movie = {};
    Movie.one($routeParams.id).get().then(function(movie) {
      $scope.movie = movie;
      $scope.signFunction = function() {
        if($scope.movie.username.then(function() {
          $location.path('/movie/' + $routeParams.id);
        });
      };
    });
  });

但是我知道上面的逻辑是错误的,谁能解释我如何检查用户是否存在于数据库中,然后检查密码是否与数据库中的密码匹配。

【问题讨论】:

    标签: angularjs node.js express mean-stack restangular


    【解决方案1】:

    你的逻辑不清楚。您实际需要做的是向您的后端发送一个 userAuthorization 对象,其中包含用户名和密码。然后,您检查发送的用户名/密码是否与数据库中的内容匹配。如果它们匹配,则将调用中所需的任何内容发回前端,如果它们不匹配,则发回未经授权的错误并在前端承诺的错误部分进行处理。

    所以,向后端发送三样东西——movie(您的端点)、movieId(用于 REST get 调用的标准 id)、userAuthorization 对象(保存用户名和密码的对象)。

    总的来说,这是一种糟糕的安全方式,但我不会深入探讨,因为我知道您正试图以基本方式处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-26
      • 2019-05-02
      • 2013-01-19
      • 2018-12-08
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多