O django-auth-ldap 1.0.9 (lançado em 27/03) adicionou um par de sinais do Django que os clientes podem usar para fazer uma população personalizada de objetos de usuário e perfil. Eu recomendaria conectar-se ao sinal populate_user e usar os atributos LDAP para atualizar o usuário associação ao grupo. por exemplo:
import django_auth_ldap.backend
def update_groups(sender, user=None, ldap_user=None, **kwargs):
# Remember that every attribute maps to a list of values
descriptions = ldap_user.attrs.get("description", [])
if "IT - Help Desk" in descriptions:
# Add user to group
else:
# Remove user from group
django_auth_ldap.backend.populate_user.connect(update_groups)
É até seguro combinar com AUTH_LDAP_MIRROR_GROUPS , como sinal é enviado depois que toda a população interna de usuários estiver completa.