perf: ldap 能多组织同步用户 (#10543)

Co-authored-by: feng <1304903146@qq.com>
Co-authored-by: feng626 <57284900+feng626@users.noreply.github.com>
This commit is contained in:
fit2bot
2023-05-25 17:35:36 +08:00
committed by GitHub
parent fa21c83db3
commit a6366a2dd4
9 changed files with 72 additions and 36 deletions

View File

@@ -2,8 +2,8 @@
#
from celery import shared_task
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.db import transaction
from django.utils.translation import ugettext_lazy as _
from common.utils import get_logger
from ops.celery.decorator import after_app_ready_start
@@ -30,14 +30,14 @@ def import_ldap_user():
util_import = LDAPImportUtil()
users = util_server.search()
if settings.XPACK_ENABLED:
org_id = settings.AUTH_LDAP_SYNC_ORG_ID
org_ids = settings.AUTH_LDAP_SYNC_ORG_IDS
default_org = None
else:
# 社区版默认导入Default组织
org_id = Organization.DEFAULT_ID
org_ids = [Organization.DEFAULT_ID]
default_org = Organization.default()
org = Organization.get_instance(org_id, default=default_org)
errors = util_import.perform_import(users, org)
orgs = list(set([Organization.get_instance(org_id, default=default_org) for org_id in org_ids]))
errors = util_import.perform_import(users, orgs)
if errors:
logger.error("Imported LDAP users errors: {}".format(errors))
else: