temporary ban support

This commit is contained in:
Julian Lam
2016-06-29 12:07:23 -04:00
parent 585a90db5d
commit 04d4fc2eca
4 changed files with 51 additions and 11 deletions

View File

@@ -334,10 +334,13 @@ authenticationController.localLogin = function(req, username, password, next) {
function (next) {
async.parallel({
userData: function(next) {
db.getObjectFields('user:' + uid, ['password', 'banned', 'passwordExpiry'], next);
db.getObjectFields('user:' + uid, ['password', 'passwordExpiry'], next);
},
isAdmin: function(next) {
user.isAdministrator(uid, next);
},
banned: function(next) {
user.isBanned(uid, next);
}
}, next);
},
@@ -349,13 +352,13 @@ authenticationController.localLogin = function(req, username, password, next) {
if (!result.isAdmin && parseInt(meta.config.allowLocalLogin, 10) === 0) {
return next(new Error('[[error:local-login-disabled]]'));
}
if (!userData || !userData.password) {
return next(new Error('[[error:invalid-user-data]]'));
}
if (userData.banned && parseInt(userData.banned, 10) === 1) {
if (result.banned) {
return next(new Error('[[error:user-banned]]'));
}
Password.compare(password, userData.password, next);
},
function (passwordMatch, next) {