From feab62513078d46158e2f8e9c5bd033f9ad95b85 Mon Sep 17 00:00:00 2001 From: Ranjiwei <32759763+r350178982@users.noreply.github.com> Date: Fri, 14 Mar 2025 09:40:19 +0800 Subject: [PATCH] Update backends.py (#7604) * Update backends.py * Update backends.py --- thirdpart/shibboleth/backends.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/thirdpart/shibboleth/backends.py b/thirdpart/shibboleth/backends.py index da2c306cc4..440936b28b 100644 --- a/thirdpart/shibboleth/backends.py +++ b/thirdpart/shibboleth/backends.py @@ -12,6 +12,8 @@ from registration.models import ( logger = logging.getLogger(__name__) SHIBBOLETH_PROVIDER_IDENTIFIER = getattr(settings, 'SHIBBOLETH_PROVIDER_IDENTIFIER', 'shibboleth') +LDAP_PROVIDER = getattr(settings, 'LDAP_PROVIDER', 'ldap') +SSO_LDAP_USE_SAME_UID = getattr(settings, 'SSO_LDAP_USE_SAME_UID', False) class ShibbolethRemoteUserBackend(RemoteUserBackend): @@ -52,6 +54,9 @@ class ShibbolethRemoteUserBackend(RemoteUserBackend): remote_user = self.clean_username(remote_user) shib_user = SocialAuthUser.objects.get_by_provider_and_uid(SHIBBOLETH_PROVIDER_IDENTIFIER, remote_user) + if not shib_user and SSO_LDAP_USE_SAME_UID: + shib_user = SocialAuthUser.objects.get_by_provider_and_uid(LDAP_PROVIDER, remote_user) + if shib_user: try: user = User.objects.get(email=shib_user.username)