AngularJS阻止对非活动用户的登录访问

时间:2016-08-24 15:50:45

标签: javascript angularjs login satellizer

我试图阻止未经激活的电子邮件令牌访问的用户。目前未激活的用户仍然可以登录并只是收到警报。这种方法使用卫星认证系统,具有承诺,然后是捕获。

这是我的LoginCtrl

'use strict';

angular.module('myapp').controller('LoginCtrl', function ($scope, alert, auth, $state, $auth, $timeout) {

  $scope.submit = function () {
    $auth.login({
      email: $scope.email,
      password: $scope.password
    })
      .then(function(res) {
        var message = 'Thanks for coming back ' + res.data.user.email + '!';
        if (!res.data.user.active)
          message = 'Just a reminder, please activate your account soon :)';
        alert('success', 'Welcome', message);
        return null;
      })
      .then(function() {
        $timeout(function() {
          $state.go('main');
        });
      })
      .catch(handleError);
  }

  function handleError(err) {
    alert('warning', 'oops there is a problem!', err.message);
  }


});

我喜欢在登录的同时显示警告消息“请先激活”。我感谢您的帮助。基本上,我想检查用户是否处于活动状态,然后登录授权,如果没有,则无法登录。

0 个答案:

没有答案