mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
add "Admin Approval for IPs", which works like Normal for new users and Admin Approval for sockpuppet accounts (#4882)
This commit is contained in:
@@ -63,6 +63,16 @@ authenticationController.register = function(req, res, next) {
|
||||
registerAndLoginUser(req, res, userData, next);
|
||||
} else if (registrationType === 'admin-approval') {
|
||||
addToApprovalQueue(req, userData, next);
|
||||
} else if (registrationType === 'admin-approval-ip') {
|
||||
db.sortedSetCard('ip:' + req.ip + ':uid', function(err, count) {
|
||||
if (err) {
|
||||
next(err);
|
||||
} else if (count) {
|
||||
addToApprovalQueue(req, userData, next);
|
||||
} else {
|
||||
registerAndLoginUser(req, res, userData, next);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
], function(err, data) {
|
||||
|
||||
@@ -113,7 +113,7 @@ Controllers.login = function(req, res, next) {
|
||||
data.alternate_logins = loginStrategies.length > 0;
|
||||
data.authentication = loginStrategies;
|
||||
data.allowLocalLogin = parseInt(meta.config.allowLocalLogin, 10) === 1 || parseInt(req.query.local, 10) === 1;
|
||||
data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval';
|
||||
data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip';
|
||||
data.allowLoginWith = '[[login:' + allowLoginWith + ']]';
|
||||
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:login]]'}]);
|
||||
data.error = req.flash('error')[0] || errorText;
|
||||
|
||||
@@ -57,7 +57,7 @@ module.exports = function(app, middleware) {
|
||||
'brand:logo:url': meta.config['brand:logo:url'] || '',
|
||||
'brand:logo:alt': meta.config['brand:logo:alt'] || '',
|
||||
'brand:logo:display': meta.config['brand:logo']?'':'hide',
|
||||
allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval',
|
||||
allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip',
|
||||
searchEnabled: plugins.hasListeners('filter:search.query'),
|
||||
config: res.locals.config,
|
||||
relative_path: nconf.get('relative_path'),
|
||||
|
||||
@@ -124,6 +124,7 @@
|
||||
<select class="form-control" data-field="registrationType">
|
||||
<option value="normal">Normal</option>
|
||||
<option value="admin-approval">Admin Approval</option>
|
||||
<option value="admin-approval-ip">Admin Approval for IPs</option>
|
||||
<option value="invite-only">Invite Only</option>
|
||||
<option value="admin-invite-only">Admin Invite Only</option>
|
||||
<option value="disabled">No registration</option>
|
||||
@@ -131,6 +132,7 @@
|
||||
<p class="help-block">
|
||||
Normal - Users can register from the /register page.<br/>
|
||||
Admin Approval - User registrations are placed in an <a href="{config.relative_path}/admin/manage/registration">approval queue</a> for administrators.<br/>
|
||||
Admin Approval for IPs - Normal for new users, Admin Approval for IP addresses that already have an account.<br/>
|
||||
Invite Only - Users can invite others from the <a href="{config.relative_path}/users" target="_blank">users</a> page.<br/>
|
||||
Admin Invite Only - Only administrators can invite others from <a href="{config.relative_path}/users" target="_blank">users</a> and <a href="{config.relative_path}/admin/manage/users">admin/manage/users</a> pages.<br/>
|
||||
No registration - No user registration.<br/>
|
||||
|
||||
Reference in New Issue
Block a user