diff options
author | Lauri Ojansivu <x@xet7.org> | 2019-05-14 21:34:30 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2019-05-14 21:34:30 +0300 |
commit | e38988126ab99abda6c4a46c077bd8ea1424a662 (patch) | |
tree | 792053d60af79f04f83e70d49e92169e6f7a0c7b /packages | |
parent | 4903f3a814b4900761fed2414a41fa6c017ce810 (diff) | |
parent | 0834f6ed1e544189c99648da3f7e1e3f4c0cef6b (diff) | |
download | wekan-e38988126ab99abda6c4a46c077bd8ea1424a662.tar.gz wekan-e38988126ab99abda6c4a46c077bd8ea1424a662.tar.bz2 wekan-e38988126ab99abda6c4a46c077bd8ea1424a662.zip |
Merge branch 'edge' into meteor-1.8
Diffstat (limited to 'packages')
-rw-r--r-- | packages/wekan-ldap/server/loginHandler.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/wekan-ldap/server/loginHandler.js b/packages/wekan-ldap/server/loginHandler.js index 0c1aa33f..79b3899a 100644 --- a/packages/wekan-ldap/server/loginHandler.js +++ b/packages/wekan-ldap/server/loginHandler.js @@ -179,6 +179,15 @@ Accounts.registerLoginHandler('ldap', function(loginRequest) { }, }; + if (LDAP.settings_get('LDAP_SYNC_ADMIN_STATUS') === true) { + log_debug('Updating admin status'); + const targetGroups = LDAP.settings_get('LDAP_SYNC_ADMIN_GROUPS').split(','); + const groups = ldap.getUserGroups(username, ldapUser).filter((value) => targetGroups.includes(value)); + + user.isAdmin = groups.length > 0; + Meteor.users.update({_id: user._id}, {$set: {isAdmin: user.isAdmin}}); + } + if( LDAP.settings_get('LDAP_SYNC_GROUP_ROLES') === true ) { log_debug('Updating Groups/Roles'); const groups = ldap.getUserGroups(username, ldapUser); @@ -217,6 +226,15 @@ Accounts.registerLoginHandler('ldap', function(loginRequest) { const result = addLdapUser(ldapUser, username, loginRequest.ldapPass); + if (LDAP.settings_get('LDAP_SYNC_ADMIN_STATUS') === true) { + log_debug('Updating admin status'); + const targetGroups = LDAP.settings_get('LDAP_SYNC_ADMIN_GROUPS').split(','); + const groups = ldap.getUserGroups(username, ldapUser).filter((value) => targetGroups.includes(value)); + + result.isAdmin = groups.length > 0; + Meteor.users.update({_id: result.userId}, {$set: {isAdmin: result.isAdmin}}); + } + if( LDAP.settings_get('LDAP_SYNC_GROUP_ROLES') === true ) { const groups = ldap.getUserGroups(username, ldapUser); if( groups.length > 0 ) { |