Commit Graph

641 Commits

Author SHA1 Message Date
Arthur Schiwon 689df9a843
LDAP OCS Api for create config
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-18 21:13:23 +01:00
Arthur Schiwon 7887566cff
remove frequent, unimportant log message
Fixes #2585

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-19 23:36:11 +01:00
Arthur Schiwon 0c8e4b91d3
adjust: sanitizeDN resides in Helper
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:36:20 +01:00
Juan Pablo Villafáñez efa1077872
Extract lowercase conversion out of the loop
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:29:47 +01:00
Arthur Schiwon 6496b95564
range support for LDAP read operations
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-05 11:29:16 +01:00
Arthur Schiwon 1e5344ffe9
log exception about user not present on LDAP on login only if loglevel is set to debug
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-11-29 17:05:55 +01:00
Lukas Reschke 4c5e7d270a
Add tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-23 19:58:43 +01:00
root 861c8572c0
restore ldap_password_pr
Signed-off-by: Roger Szabo <roger.szabo@web.de>

remove notification part

Signed-off-by: Roger Szabo <roger.szabo@web.de>

blizzz comments

Signed-off-by: Roger Szabo <roger.szabo@web.de>

morris comment

Signed-off-by: Roger Szabo <roger.szabo@web.de>

improved error message for changing password

Signed-off-by: Roger Szabo <roger.szabo@web.de>

blizz comments 20161013

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Adjust HintException usage

Signed-off-by: Roger Szabo <roger.szabo@web.de>

Signed-off-by: Roger Szabo <roger.szabo@web.de>
2016-11-23 19:02:48 +01:00
Arthur Schiwon dade28cadd
Merge branch 'master' into downstream-ldap-3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-16 14:42:16 +02:00
Victor Dubiniuk 011d5f554c
Harden empty
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-13 00:53:34 +02:00
Arthur Schiwon 9e817e9e0b
symfony replaced table helper by class, fixes two broken LDAP occ commands
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-12 23:47:07 +02:00
Roeland Jago Douma 7d2f70ef72
Use more IConfig and add unit tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 10:51:13 +02:00
Roeland Jago Douma bdf4bf4669
DI IConfig into ldap helper
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 10:18:18 +02:00
Roeland Jago Douma 1ba2b7e5d4
Do not query data that is already in the appconfig
This is already available. We better use a simple regex.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-10 09:39:20 +02:00
Arthur Schiwon a30341823e
cache loginName2UserName and cover the method with unit tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-07 01:39:57 +02:00
Joas Schilling 82c29e1204
Log the error with display name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-06 11:21:43 +02:00
Jörn Friedrich Dreyer 0ae9a2c9fe
Prevent user with empty uid
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-04 12:26:06 +02:00
Joas Schilling 01cf85e4e5
Fix the User_LDAP app 2016-09-12 16:48:11 +02:00
Roeland Jago Douma 013f691fe9
Fix phpdoc 2016-08-29 20:20:17 +02:00
Jörn Friedrich Dreyer 4d31caa6f8
fix a few minor code smells 2016-08-29 14:34:37 +02:00
Lukas Reschke 8a7a0f3287
Add unit tests 2016-08-15 16:25:34 +02:00
Arthur Schiwon 7a2b96c7e6
change casing in section display names 2016-08-13 00:06:10 +02:00
Arthur Schiwon 14ddf9d923
rename IAdmin to ISettings, the interface is not bound to a specific settings scope 2016-08-11 14:48:21 +02:00
Arthur Schiwon 1eb8b951c2
more admin page splitup improvements
* bump version to ensure tables are created
* make updatenotification app use settings api
* change IAdmin::render() to getForm() and change return type from Template to TemplateResponse
* adjust User_LDAP accordingly, as well as built-in forms
* add IDateTimeFormatter to AppFramework/DependencyInjection/DIContainer.php. This is important so that \OC::$server->query() is able to resolve the
constructor parameters. We should ensure that all OCP/* stuff that is available from \OC::$server is available here. Kudos to @LukasReschke
* make sure apps that have settings info in their info.xml are loaded before triggering adding the settings setup method
2016-08-10 15:21:25 +02:00
Arthur Schiwon ceeb44bd04
Initial work on Apps page split:
* interfaces for the Admin settings (IAdmin) and section (ISection)
* SettingsManager service
* example setup with LDAP app
2016-08-09 18:05:09 +02:00
Morris Jobke 83c64f3485 Merge pull request #590 from nextcloud/fixing-undefined-OfflineUser-composeAndStoreDisplayName
Fix undefined OfflineUser::composeAndStoreDisplayName()
2016-07-28 17:41:02 +02:00
Lukas Reschke bf7afcdace Merge pull request #592 from nextcloud/ldap-avoidneedlesssetemailonlogin
Prevent setting email and triggering events at login time (#25553)
2016-07-28 17:09:59 +02:00
root bd65a17203 Nextcloud license header for new files 2016-07-28 15:13:00 +08:00
Vincent Petry 77df09d58a
Prevent setting email and triggering events at login time (#25553)
Whenever an LDAP user also has an email address defined in LDAP, the
LDAP code will try and update the email address of the locally known
user. This happens at login time or every time the user's LDAP
attributes are processed.

There is code listening to the email setting hook which updates the
system address book, which also will trigger FS setup due to avatars
and other things.

This fix only sets the email address when really necessary.
2016-07-27 11:28:33 +02:00
Thomas Müller 1177c70b9d
[stable9.1] Fix undefined OfflineUser::composeAndStoreDisplayName() - fixes #23248 2016-07-27 11:17:53 +02:00
root 2719dcabed Merge branch 'master' of https://github.com/nextcloud/server 2016-07-27 15:17:29 +08:00
root 1c64ee67af comments amended 2016-07-27 15:16:57 +08:00
root 32fb6beac3 final changes 2016-07-27 15:10:35 +08:00
blizzz f88109be75 Merge pull request #349 from nextcloud/ldab-groupOfUniqueNames
add groupOfUniqueNames as valid group object class
2016-07-26 23:32:47 +02:00
root 02ec8b1726 New LDAPProvider for user_ldap 2016-07-22 16:46:29 +08:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling 813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Aaron Wood 7c0de08cc4
Escape special characters (#25429)
* Escape LIKE parameter

* Escape LIKE parameter

* Escape LIKE parameter

* Escape LIKE parameter

* Escape LIKE parameter

* Use correct method in the AbstractMapping class

* Change the getNamesBySearch method so that input can be properly escaped while still supporting matches

* Don't escape hardcoded wildcard
2016-07-20 14:46:47 +02:00
Robin Appelman 81d4d85803 add groupOfUniqueNames as valid group object class 2016-07-08 18:13:22 +02:00
Vincent Petry b77fcc19d4 Merge pull request #25344 from owncloud/fix-ldap-check-user
check if renamed user is still valid by reapplying the ldap filter
2016-07-05 11:29:55 +02:00
felixboehm e901ec4941 check if renamed user is still valid by reapplying the ldap filter (#25338) 2016-07-04 14:20:08 +02:00
Jörn Friedrich Dreyer d2d2a75529 Cap LDAP user cache (#25323) 2016-07-04 13:57:15 +02:00
Jörn Friedrich Dreyer 704a993e37 Fix null pointer exception in user_ldap (#25062) 2016-06-21 16:30:48 +02:00
Thomas Müller 990ac34aaa Use proper namespaces - fixes #25078 (#25079) 2016-06-13 19:32:54 +02:00
Vincent Petry c5a6c8b70b
Use array_merge when reading cached groups members 2016-06-08 11:22:01 +02:00
Roeland Jago Douma dc4fd43f39
Use a capped memory cache for the user/group cache
For #24403
When upgrading huge installations this can lead to memory problems as
the cache will only grow and grow.

Capping this memory will make sure we don't run out while during normal
operation still basically cache everything.
2016-05-30 10:57:14 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Joas Schilling a4980a3de4
Last instances of lowercase user_ldap 2016-05-25 16:06:09 +02:00
Joas Schilling b616318327
Fix several minor issues 2016-05-25 16:06:08 +02:00
Joas Schilling db2e9df5f0
Move Job to a better class name 2016-05-25 16:06:06 +02:00
Joas Schilling c807a26bd8
Move Access to PSR-4 2016-05-25 16:04:59 +02:00
Joas Schilling 02d5b75fb4
Move BackendUtility to PSR-4 2016-05-25 16:04:59 +02:00
Joas Schilling aa7b600383
Move Configuration to PSR-4 2016-05-25 16:04:59 +02:00
Joas Schilling af0a6961b1
Move Connection to PSR-4 2016-05-25 16:04:59 +02:00
Joas Schilling 387019a212
Move FilesystemHelper to PSR-4 2016-05-25 16:04:58 +02:00
Joas Schilling 7db6b487f5
Move Helper to PSR-4 2016-05-25 16:04:58 +02:00
Joas Schilling 391531851c
Move interface to PSR-4 2016-05-25 16:04:58 +02:00
Joas Schilling 3690ce1b36
Move LDAP to PSR-4 2016-05-25 16:04:58 +02:00
Joas Schilling 5b3087d375
Move LDAP Utility to PSR-4 2016-05-25 16:04:57 +02:00
Joas Schilling 6feccccbd5
Move LogWrapper to PSR-4 2016-05-25 16:04:57 +02:00
Joas Schilling e73d811425
Move Proxy to PSR-4 2016-05-25 16:04:57 +02:00
Joas Schilling d16a97a273
lib/user 2016-05-25 16:04:57 +02:00
Joas Schilling d4e828f39e
Move wizard 2016-05-25 16:04:57 +02:00
Joas Schilling 3f5e76162d
Move lib\user to PSR-4 2016-05-25 16:04:56 +02:00
Joas Schilling b7fa527791
Move User_LDAP and User_Proxy to PSR-4 2016-05-25 16:04:56 +02:00
Joas Schilling cbba55a26c
Move Group_LDAP and Group_Proxy to PSR-4 2016-05-25 16:04:56 +02:00
Joas Schilling 4ac283ecd3
Move Command namespace to PSR-4 2016-05-25 16:04:56 +02:00
Joas Schilling 9d61acb27d
Move User_LDAP to PSR-4 2016-05-25 16:04:55 +02:00
Thomas Müller 6321596134 Merge pull request #24052 from owncloud/fix-ldap-cache-race-conditions
Fix LDAP race conditions
2016-04-25 14:55:20 +02:00
Arthur Schiwon 203b0e9cba
on clone Connection, do not take over the existing LDAP resource
For one, it solves potential conflicts when using the resource. For the
other, one on the login check (the only place where a clone happens
currently) we do not need to rebind after confirming the user's login
was successful.
2016-04-22 21:43:41 +02:00
Morris Jobke 62a59854f0
Fix LDAP race conditions
* getFromCache is wrapped in isCached
* inbetween the two calls the cache entry hits it's TTL
* getFromCache returns null
* this fix only checkes if the returned value is null and
  return only non-null values
2016-04-20 21:50:28 +02:00
C. Montero Luque 5911ce530b Merge pull request #23527 from owncloud/fix-21136
disable Paged Search when chunksize is set to 0, fixes #21136
2016-04-14 11:14:19 -04:00
Stefan Weil 16df1c5188 apps: Fix typos (found by codespell) (#23862)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-12 12:52:51 +02:00
Thomas Müller f6b846584b Handle case where the user is not known - fixes #23759 2016-04-04 16:56:59 +02:00
Arthur Schiwon c9587cea76 disable Paged Search when chunksize is set to 0, fixes #21136 2016-03-23 19:47:31 +01:00
Thomas Müller 8442516e10 Merge pull request #23329 from owncloud/fix-21555
Avatar must be saved after login is done and external storages set up…
2016-03-21 09:47:50 +01:00
Arthur Schiwon d8621c78ed Avatar must be saved after login is done and external storages set up properly, fixes #21555 2016-03-16 20:51:03 +01:00
Arthur Schiwon 8e0bd5630c fix writing to cache when fallback server should be used immediately 2016-03-16 14:44:18 +01:00
Arthur Schiwon fe2a506e56 remove deprecated ldap_sort 2016-03-10 13:13:38 +01:00
Arthur Schiwon 5d3183afcd improve log output when no LDAP user was found on login attempt 2016-03-05 00:18:34 +01:00
Arthur Schiwon 82b55c4db9 untangle different user manager instances, fixes #22770 2016-03-02 13:02:43 +01:00
Lukas Reschke c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke 933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Arthur Schiwon b9b85e32be take the first result of that array, if present. Fixes 2nd display name to be 'Array', if cache is configured and enabled. 2016-02-24 21:32:03 +01:00
Arthur Schiwon 3a796d1e15 Consolidate getQuota and setQuota methods in User instance 2016-02-09 17:16:43 +01:00
Thomas Müller 69a4cd2898 Merge pull request #22102 from owncloud/ldap_2nddispname-master
[LDAP] add second field for additional/optional display name attribute
2016-02-06 13:27:01 +01:00
Alex Weirig 0d797637f3 code changes for user_ldap Dynamic Group Membership
Added new setting of “Dynamic Group Member URL”
(ldapDynamicGroupMemberURL) - see LDAP settings advanced tab.

Added public function getDynamicGroupMembers.

Updated function _groupMembers.

Updated function getUserGroups.
2016-02-03 21:50:27 +01:00
Arthur Schiwon c1871f5787 Port of test_ldap_2nddispname to master 2016-02-03 13:55:39 +01:00
Morris Jobke e4ad4c7e98 [user_ldap] properly decode cached objects
* fixes #21896
2016-01-29 07:51:16 +01:00
Thomas Müller 77069f5582 Use IUser::setEMailAddress in ldap as well 2016-01-20 15:21:33 +01:00
Thomas Müller aeb89947a2 Introduce IUser::setEMailAddress and add hook mechanism 2016-01-20 14:57:20 +01:00
Thomas Müller dd733d8925 Merge pull request #20804 from owncloud/fix-ldap-process-user-wo-displayname
LDAP: do not attempt to process user records without display name, fi…
2016-01-20 11:33:26 +01:00
Scrutinizer Auto-Fixer 83a8e75614 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-01-15 12:54:26 +00:00
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Arthur Schiwon 1ed6132899 LDAP: do not attempt to process user records without display name, fixes fatal error 2016-01-11 11:21:02 +01:00
Ralph Krimmel 26d0f42dac Respect user enumeration
Respect shareapi_allow_share_dialog_user_enumeration in user_ldap filter
generation function to increase search performance in sharing dialog.
2016-01-08 15:32:31 +01:00
Thomas Müller 70b58cf367 Merge pull request #17924 from owncloud/ldap-fix-appending-port
ensure an LDAP URL is used, append the port to the host URL when necessary, and just in one place
2016-01-08 12:34:15 +01:00
Morris Jobke 553a981980 Make LDAP more robust to exceptions and log them properly 2016-01-06 13:46:55 +01:00
Arthur Schiwon e39415c946 fix find DN by UUID for AD 2015-12-14 22:42:27 +01:00
Arthur Schiwon 4020d5b77a look for DN changes before marking a user as deleted 2015-12-11 01:56:53 +01:00
Thomas Müller 000523a7fe Merge pull request #18212 from ryno83/treat_LDAP_users_not_available_by_user_filter_as_deleted
treat LDAP users not available by user filter as deleted
2015-12-07 17:47:10 +01:00
Arthur Schiwon 86fcb08745 wizard should also detect protocol errors, as side effect enforces LDAPv3 2015-12-05 00:43:38 +01:00
Arthur Schiwon a32b002cff always use an LDAP URL when connecting to LDAP 2015-12-05 00:09:15 +01:00
Morris Jobke c60c793cf2 More cleanups of OC_Config usage 2015-12-03 16:41:23 +01:00
Thomas Müller 4978a785fa Merge pull request #18294 from esakol/issue17173
Fix RHDS ldap paged search, Issue #17173
2015-11-24 16:04:23 +01:00
Mario Kolling 46a8eab772 Fix RHDS ldap paged search, Issue #17173
Change-Id: Ic804ea95401a9b49cb2b0866af722aa0d3ee58c5
2015-11-09 10:27:45 -02:00
Arthur Schiwon 133e3fe89d remove uselessly used parameter, read all user attributes also when looking up users in groups 2015-11-06 15:21:56 +01:00
Thomas Müller bf941032a3 Merge pull request #20271 from owncloud/fix-18701
LDAP: attempt to connect to backup server again, if main server is no…
2015-11-06 10:01:06 +01:00
Arthur Schiwon 8eeaf11d41 add port to host only, if an URL is used instead of a plain hostname 2015-11-04 12:34:30 +01:00
Arthur Schiwon 6b866fa917 LDAP: attempt to connect to backup server again, if main server is not available. Fixes #18701 2015-11-03 17:17:00 +01:00
blizzz 83d3c94590 Merge branch 'master' into fix-20151 2015-11-02 13:32:24 +01:00
Arthur Schiwon a2f2ffb8db if a user that is flag as deleted shows up again, remove that flag. Fixes #20090 2015-10-30 19:20:42 +01:00
Arthur Schiwon 16aa339475 add method to count users by loginname and use it for diagnose test, fixes #20151 2015-10-30 18:20:50 +01:00
Arthur Schiwon f96e552164 fix attribute casing to ensure array keys work 2015-10-27 19:10:38 +01:00
Arthur Schiwon e1d61284f8 fix update quota with known value 2015-10-27 18:07:40 +01:00
Lukas Reschke 8f09d5b67c Update license headers 2015-10-26 14:04:01 +01:00
Thomas Müller f50f78dd9b Merge pull request #19795 from owncloud/fix-language-level-compat
Remove arbitrary expression in empty
2015-10-15 16:42:32 +02:00
Joas Schilling 24420e9eb1 Fix doc blocks of LDAP classes 2015-10-15 08:29:35 +02:00
Lukas Reschke 4e5eb3b828 Remove arbitrary expression in empty
Those are only allowed in PHP 5.5, thus making our code incompatible with PHP 5.4

Fixes https://github.com/owncloud/core/issues/19793
2015-10-14 22:35:46 +02:00
Thomas Müller 3f083353c1 Merge pull request #19635 from owncloud/fix-ldap-value-limitation
allow an attribute to return more than one value
2015-10-13 14:09:52 +02:00
Arthur Schiwon e3a148584a adjust fetchList with a single requested attribute accordingly 2015-10-09 20:07:35 +02:00
Arthur Schiwon a876efda50 treat dn as any other attribute when building the search() return array 2015-10-08 21:18:34 +02:00
Arthur Schiwon dd2e887a8d adjust handling changed return array structure from search() and fetchList() 2015-10-08 20:32:15 +02:00
Arthur Schiwon 4a5cecd6fa allow an attribute to return more than one value 2015-10-07 18:57:49 +02:00
Thomas Müller c8021441d0 Merge pull request #19489 from owncloud/fix-18297
fix possible infinite loop when reading groups in the wizard
2015-10-07 14:55:48 +02:00
Thomas Müller 0385a62363 Merge pull request #19597 from owncloud/update-license-headers
update licence headers via script
2015-10-06 11:18:35 +02:00
Morris Jobke b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Arthur Schiwon 353a8e442f fix possible infinite loop when reading groups in the wizard 2015-10-05 19:10:30 +02:00
Arthur Schiwon fc273ac88c trim by default, add unit tests 2015-10-05 13:42:20 +02:00
Lennart Rosam 70ffa2f9f8 Spaces -> Tabs, Update PHP-Doc and function logic 2015-10-05 13:42:20 +02:00
Lennart Rosam b47d15cd20 Remove whitespace from base-DNs 2015-10-05 13:42:20 +02:00
Arthur Schiwon 6d06d1c5a4 LDAP Wizard: do not be picky about credentials when only looking for the port 2015-10-03 00:35:24 +02:00
Arthur Schiwon 0dde79b75b memberOf resembles a DN as well and is actively used 2015-09-28 18:40:01 +02:00
Arthur Schiwon 002b6bf059 do not throw exception when no attribute is specified 2015-09-23 17:27:40 +02:00
Arthur Schiwon 9d03b7c6b7 read all relevant user attributes on login and user search, in one query. saves us some. 2015-09-23 16:38:39 +02:00
Lukas Reschke 36e26c6f09 Use "json_encode" and "json_decode" instead of unserialize 2015-09-02 12:26:37 +02:00
blizzz 642ec8e3ba Merge pull request #18244 from owncloud/fix-issue-17677
Fix 17677 - Remove LDAP case sensitive checkbox
2015-08-24 13:45:15 +02:00
Thomas Müller d9172a1907 Merge pull request #14401 from owncloud/ux-s2s-ldap
allow login names to be used for s2s with LDAP users
2015-08-19 08:31:27 +02:00
Lennart Rosam b91186c503 Fix 17677 2015-08-12 22:18:28 +02:00
Renaud Fortier 3c53a0da27 if define, check the userfilter if the user is still allowed 2015-08-11 11:55:38 -04:00
blizzz 332492548f Merge pull request #17923 from owncloud/fix-17921
Remove Log info when no group filter is set, fixes #17921
2015-07-29 16:12:08 +02:00
blizzz e0d5eb8989 remove unused var 2015-07-29 12:10:33 +02:00
blizzz 81f5672393 Remove Log info when no group filter is set, fixes #17921
The log message is superfluous and too noisy. If an admin decides not to use groups, he does not need to be reminded about it on almost every request.
2015-07-28 11:41:21 +02:00
Arthur Schiwon b37d62d9d3 fix uncaught exception on not permitted file types when setting avatar, fixes #17232 2015-07-27 17:27:00 +02:00
Morris Jobke 933f087d21 Merge pull request #17526 from owncloud/fix-17516
LDAP: when checking group for matching filter, also take base DN into…
2015-07-27 08:38:45 +02:00
Arthur Schiwon 4f910221c4 fix runtime caching in ldap's user manager, fixes #17631 2015-07-17 18:57:56 +02:00
blizzz bfb90d10ed Merge pull request #17046 from nicolas-grekas/fix-16654
Do not use OC*::mb_*_replace(), they are useless
2015-07-16 11:35:25 +02:00
Nicolas Grekas 472d48f6e3 Do not use OC*::mb_*_replace(), they are useless 2015-07-16 11:00:04 +02:00
Arthur Schiwon bfdf39b9bd LDAP: when checking group for matching filter, also take base DN into consideration. Fixes #17516 2015-07-09 12:19:04 +02:00
Thomas Müller 0a23d566ba Merge pull request #17255 from owncloud/fix-17119
[LDAP] Filter user groups obtained by memberof
2015-07-01 00:33:39 +02:00