1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-27 11:01:14 +00:00

only check local user when login via shib (#4357)

This commit is contained in:
lian 2019-12-13 21:44:54 +08:00 committed by Daniel Pan
parent 3970035c20
commit 69a482df9f

View File

@ -1,6 +1,7 @@
from django.conf import settings
from django.db import connection
from seaserv import ccnet_api
from seahub.auth.backends import RemoteUserBackend
from seahub.base.accounts import User
from registration.models import (
@ -43,9 +44,12 @@ class ShibbolethRemoteUserBackend(RemoteUserBackend):
return
username = self.clean_username(remote_user)
try:
user = User.objects.get(email=username)
except User.DoesNotExist:
local_ccnet_users = ccnet_api.search_emailusers('DB', username, -1, -1)
if not local_ccnet_users:
local_ccnet_users = ccnet_api.search_emailusers('LDAP', username, -1, -1)
if not local_ccnet_users:
if self.create_unknown_user:
user = User.objects.create_user(
email=username, is_active=self.activate_after_creation)