我试图阻止未经激活的电子邮件令牌访问的用户。目前未激活的用户仍然可以登录并只是收到警报。这种方法使用卫星认证系统,具有承诺,然后是捕获。
'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);
}
});
我喜欢在登录的同时显示警告消息“请先激活”。我感谢您的帮助。基本上,我想检查用户是否处于活动状态,然后登录授权,如果没有,则无法登录。