소스 검색

Fixed bug for users authenticated with API token

This prevents a crash when the current user has authenticated himself
with an API token. In this case the user will not have the permissions
given to his LDAP groups.
Tobias Genannt 4 년 전
부모
커밋
4abfa6231c
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      netbox/netbox/authentication.py

+ 3 - 1
netbox/netbox/authentication.py

@@ -147,7 +147,9 @@ try:
     class NBLDAPBackend(ObjectPermissionMixin, LDAPBackend_):
         def get_permission_filter(self, user_obj):
             permission_filter = super().get_permission_filter(user_obj)
-            if self.settings.FIND_GROUP_PERMS:
+            if (self.settings.FIND_GROUP_PERMS and
+                    hasattr(user_obj, "ldap_user") and
+                    hasattr(user_obj.ldap_user, "group_names")):
                 permission_filter = permission_filter | Q(groups__name__in=user_obj.ldap_user.group_names)
             return permission_filter
 except ModuleNotFoundError: