如何使用restangular验证用户?

时间:2015-11-02 15:48:22

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

我正在尝试使用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和node 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);
        });
      };
    });
  });

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

1 个答案:

答案 0 :(得分:0)

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

因此,向后端发送三件事 - 电影(您的端点),movieId(您获取REST调用的标准ID),userAuthorization对象(持有用户名和密码的对象)。

总的来说,这通常是一种很难做到安全的方法,但我不会深入研究,因为我知道你正试图以一种基本的方式处理它。