fix: page rules role check (#1447)

* Check rule.roles against permissions

* Added Role Check to EXACT matching

* Code Review Fixes
This commit is contained in:
BobbyB 2020-02-07 14:26:13 -05:00 committed by GitHub
parent a694d26290
commit 7d23344c7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -173,6 +173,7 @@ module.exports = {
user.groups.forEach(grp => { user.groups.forEach(grp => {
const grpId = _.isObject(grp) ? _.get(grp, 'id', 0) : grp const grpId = _.isObject(grp) ? _.get(grp, 'id', 0) : grp
_.get(WIKI.auth.groups, `${grpId}.pageRules`, []).forEach(rule => { _.get(WIKI.auth.groups, `${grpId}.pageRules`, []).forEach(rule => {
if(_.intersection(rule.roles, permissions).length > 0) {
switch (rule.match) { switch (rule.match) {
case 'START': case 'START':
if (_.startsWith(`/${page.path}`, `/${rule.path}`)) { if (_.startsWith(`/${page.path}`, `/${rule.path}`)) {
@ -207,6 +208,7 @@ module.exports = {
} }
break break
} }
}
}) })
}) })