使用AngularJS的客户端身份验证

时间:2017-10-23 14:02:17

标签: javascript angularjs

我创建了登录页面并尝试进行客户端身份验证。我知道这是一个不好的做法,但我想学习它。我正在使用JSON server访问数据。当我提交按钮时,我的数据会在服务器中发布,但是当我尝试匹配成功通话中的内容时,我失败了。请让我知道我做错了什么。

非常感谢任何帮助/建议。

AngularJS:

app.factory('Authentication', function($http, $q, session) {
  var service = {};

  service.isAuthenticated = function() {
    return isAuthenticated = false,
      username = ""
  };

  service.login = function(username, password) {
    return $q(function(resolve, reject) {
      $http.post('http://localhost:3000/loginfo', {
          username,
          password
        })
        .then(
          function successCallback(response) {
            var data = response.data;
            var user = {};
            for (var i = 0; i < data; i++) {
              alert('go');
              if (data[i].username === username && data[i].password === password) {
                user = data[i];
                break;
              }
            }
            session.create(response.data.id, response.data.username);
            resolve(response.data);
            console.log(response.data)
          },
          function(err) {
            reject(err);
          });
    });
  };
  return service;
});

/* client-side */

app.controller('credientials', function($scope, $http, auth) {

  $scope.userCred = {
    username: '',
    password: ''
  };

  /*-----Form Submition-----*/

  $scope.log = function(userCred) {
    $scope.isAuthenticated = true;
    Authentication.login(userCred.username, userCred.password)
      .then(function(result) {
        console.log(result);
      }, function(err) {
        console.error(err);
      });
  };
}]);

0 个答案:

没有答案