mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 00:56:13 +01:00
fix: is user doesnt have view:users privilege
dont redirect uid/1 to userslug
This commit is contained in:
@@ -203,8 +203,12 @@ module.exports = function (middleware) {
|
|||||||
if (uid <= 0) {
|
if (uid <= 0) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
const userslug = await user.getUserField(uid, 'userslug');
|
const [canView, userslug] = await Promise.all([
|
||||||
if (!userslug) {
|
privileges.global.can('view:users', req.uid),
|
||||||
|
user.getUserField(uid, 'userslug'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (!userslug || (!canView && req.uid !== uid)) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
const path = req.url.replace(/^\/api/, '')
|
const path = req.url.replace(/^\/api/, '')
|
||||||
|
|||||||
@@ -5,7 +5,11 @@ const helpers = require('./helpers');
|
|||||||
const { setupPageRoute } = helpers;
|
const { setupPageRoute } = helpers;
|
||||||
|
|
||||||
module.exports = function (app, name, middleware, controllers) {
|
module.exports = function (app, name, middleware, controllers) {
|
||||||
const middlewares = [middleware.exposeUid, middleware.canViewUsers, middleware.buildAccountData];
|
const middlewares = [
|
||||||
|
middleware.exposeUid,
|
||||||
|
middleware.canViewUsers,
|
||||||
|
middleware.buildAccountData,
|
||||||
|
];
|
||||||
const accountMiddlewares = [
|
const accountMiddlewares = [
|
||||||
...middlewares,
|
...middlewares,
|
||||||
middleware.ensureLoggedIn,
|
middleware.ensureLoggedIn,
|
||||||
|
|||||||
Reference in New Issue
Block a user