mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-03-05 19:51:08 +01:00
feat(users): forbid user login when banned from server
This commit is contained in:
@@ -10,32 +10,33 @@ var passport = require('passport'),
|
||||
module.exports = function () {
|
||||
// Use local strategy
|
||||
passport.use(new LocalStrategy({
|
||||
usernameField: 'usernameOrEmail',
|
||||
passwordField: 'password'
|
||||
},
|
||||
function (usernameOrEmail, password, done) {
|
||||
User.findOne({
|
||||
$or: [{
|
||||
username: usernameOrEmail.toLowerCase()
|
||||
}, {
|
||||
email: usernameOrEmail.toLowerCase()
|
||||
}]
|
||||
}, function (err, user) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
if (!user || !user.authenticate(password)) {
|
||||
return done(null, false, {
|
||||
message: 'Invalid username or password (' + (new Date()).toLocaleTimeString() + ')'
|
||||
});
|
||||
}
|
||||
if(user.status === 'banned'){
|
||||
return done(null, false, {
|
||||
message: 'You are banned from the server!'
|
||||
});
|
||||
}
|
||||
usernameField: 'usernameOrEmail',
|
||||
passwordField: 'password'
|
||||
},
|
||||
function (usernameOrEmail, password, done) {
|
||||
User.findOne({
|
||||
$or: [{
|
||||
username: usernameOrEmail.toLowerCase()
|
||||
}, {
|
||||
email: usernameOrEmail.toLowerCase()
|
||||
}]
|
||||
}, function (err, user) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
if (!user || !user.authenticate(password)) {
|
||||
return done(null, false, {
|
||||
message: 'Invalid username or password (' + (new Date()).toLocaleTimeString() + ')'
|
||||
});
|
||||
}
|
||||
if (user.status === 'banned') {
|
||||
return done(null, false, {
|
||||
message: 'You are banned from the server!'
|
||||
});
|
||||
}
|
||||
|
||||
return done(null, user);
|
||||
});
|
||||
}));
|
||||
return done(null, user);
|
||||
});
|
||||
}
|
||||
));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user