Fix checking sub property before parent property
fixes bug 4520
mstrhakr committed
Sep 7, 2022 at 10:31 UTC
b0ec3af9bb18ecea89773d52c5390bd75afc3ac7
1 file changed
+14
-12
webserver.js
+14
-12
@@ -2673,19 +2673,21 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
2673
if ((req.user.name != null) && (req.user.name != user.name)) { user.name = req.user.name; userChanged = true; }
2674
if ((req.user.email != null) && (req.user.email != user.email)) { user.email = req.user.email; user.emailVerified = true; userChanged = true; }
2675
2676
- // Sync the user groups if enabled
2677
- if (domain.authstrategies[authStrategy].groups.sync.enabled === true) { syncExternalUserGroups(domain, user, userMemberships, authStrategy) }
2676
+ if (typeof domain.authstrategies[authStrategy].groups == 'object') {
2677
+ // Sync the user groups if enabled
2678
+ if ((typeof domain.authstrategies[authStrategy].groups.sync == 'object') && (domain.authstrategies[authStrategy].groups.sync.enabled === true)) { syncExternalUserGroups(domain, user, userMemberships, authStrategy) }
2679
2679
- // See if the user is a member of the site admin group.
2680
- if ((typeof domain.authstrategies[authStrategy].groups.siteadmin !== 'undefined') && (domain.authstrategies[authStrategy].groups.siteadmin !== null)) {
2681
- if ((typeof siteAdminGroup === 'string') && (user.siteadmin !== 0xFFFFFFFF)) {
2682
- parent.debug('authlog', `${authStrategy.toUpperCase()}: Granting site admin privilages to user "${user.name}" found in administrator group: ${siteAdminGroup}`);
2683
- user.siteadmin = 0xFFFFFFFF;
2684
- userChanged = true;
2685
- } else if ((siteAdminGroup === false) && (user.siteadmin === 0xFFFFFFFF)) {
2686
- parent.debug('authlog', `${authStrategy.toUpperCase()}: Revoking site admin privilages from user "${user.name}" since they are not found in any administrator groups.`);
2687
- delete user.siteadmin;
2688
- userChanged = true;
2680
+ // See if the user is a member of the site admin group.
2681
+ if ((typeof domain.authstrategies[authStrategy].groups.siteadmin !== 'undefined') && (domain.authstrategies[authStrategy].groups.siteadmin !== null)) {
2682
+ if ((typeof siteAdminGroup === 'string') && (user.siteadmin !== 0xFFFFFFFF)) {
2683
+ parent.debug('authlog', `${authStrategy.toUpperCase()}: Granting site admin privilages to user "${user.name}" found in administrator group: ${siteAdminGroup}`);
2684
+ user.siteadmin = 0xFFFFFFFF;
2685
+ userChanged = true;
2686
+ } else if ((siteAdminGroup === false) && (user.siteadmin === 0xFFFFFFFF)) {
2687
+ parent.debug('authlog', `${authStrategy.toUpperCase()}: Revoking site admin privilages from user "${user.name}" since they are not found in any administrator groups.`);
2688
+ delete user.siteadmin;
2689
+ userChanged = true;
2690
+ }
2691
}
2692
}
2693