mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-11 16:35:47 +01:00
closes #1263
This commit is contained in:
64
app.js
64
app.js
@@ -77,24 +77,7 @@ if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf
|
|||||||
} else if (nconf.get('upgrade')) {
|
} else if (nconf.get('upgrade')) {
|
||||||
upgrade();
|
upgrade();
|
||||||
} else if (nconf.get('reset')) {
|
} else if (nconf.get('reset')) {
|
||||||
if (nconf.get('themes')) {
|
reset();
|
||||||
resetThemes();
|
|
||||||
} else if (nconf.get('plugins')) {
|
|
||||||
resetPlugins();
|
|
||||||
} else if (nconf.get('widgets')) {
|
|
||||||
resetWidgets();
|
|
||||||
} else if (nconf.get('all')) {
|
|
||||||
require('async').series([resetWidgets, resetThemes, resetPlugins], function(err) {
|
|
||||||
if (!err) {
|
|
||||||
winston.info('[reset] Reset complete.');
|
|
||||||
} else {
|
|
||||||
winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
|
|
||||||
}
|
|
||||||
process.exit();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
console.log('no match');
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
displayHelp();
|
displayHelp();
|
||||||
}
|
}
|
||||||
@@ -215,6 +198,51 @@ function upgrade() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
if (nconf.get('themes')) {
|
||||||
|
resetThemes();
|
||||||
|
} else if (nconf.get('plugins')) {
|
||||||
|
resetPlugins();
|
||||||
|
} else if (nconf.get('widgets')) {
|
||||||
|
resetWidgets();
|
||||||
|
} else if (nconf.get('settings')) {
|
||||||
|
resetSettings();
|
||||||
|
} else if (nconf.get('all')) {
|
||||||
|
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
|
||||||
|
if (!err) {
|
||||||
|
winston.info('[reset] Reset complete.');
|
||||||
|
} else {
|
||||||
|
winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
|
||||||
|
}
|
||||||
|
process.exit();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('no match');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetSettings(callback) {
|
||||||
|
loadConfig();
|
||||||
|
|
||||||
|
require('./src/database').init(function(err) {
|
||||||
|
if (err) {
|
||||||
|
if (typeof callback === 'function') {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
process.exit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var meta = require('./src/meta');
|
||||||
|
meta.configs.set('allowLocalLogin', 1, function(err) {
|
||||||
|
if (typeof callback === 'function') {
|
||||||
|
callback(err);
|
||||||
|
} else {
|
||||||
|
process.exit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function resetThemes(callback) {
|
function resetThemes(callback) {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ Controllers.login = function(req, res, next) {
|
|||||||
data.authentication = login_strategies;
|
data.authentication = login_strategies;
|
||||||
data.token = res.locals.csrf_token;
|
data.token = res.locals.csrf_token;
|
||||||
data.showResetLink = emailersPresent;
|
data.showResetLink = emailersPresent;
|
||||||
|
data.allowLocalLogin = meta.config.allowLocalLogin === undefined || parseInt(meta.config.allowLocalLogin, 10) === 1;
|
||||||
|
|
||||||
res.render('login', data);
|
res.render('login', data);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -225,6 +225,9 @@ var async = require('async'),
|
|||||||
}, {
|
}, {
|
||||||
field: 'allowRegistration',
|
field: 'allowRegistration',
|
||||||
value: 1
|
value: 1
|
||||||
|
}, {
|
||||||
|
field: 'allowLocalLogin',
|
||||||
|
value: 1
|
||||||
}, {
|
}, {
|
||||||
field: 'allowFileUploads',
|
field: 'allowFileUploads',
|
||||||
value: 0
|
value: 0
|
||||||
|
|||||||
@@ -29,6 +29,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function login(req, res, next) {
|
function login(req, res, next) {
|
||||||
|
if(meta.config.allowLocalLogin !== undefined && parseInt(meta.config.allowLocalLogin, 10) === 0) {
|
||||||
|
return res.send(403);
|
||||||
|
}
|
||||||
|
|
||||||
passport.authenticate('local', function(err, userData, info) {
|
passport.authenticate('local', function(err, userData, info) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return next(err);
|
return next(err);
|
||||||
|
|||||||
Reference in New Issue
Block a user