Explorar o código

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 %!s(int64=4) %!d(string=hai) anos
pai
achega
4abfa6231c
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  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: