Projet

Général

Profil

Development #19597

ajouter des settings pour filtre les utilisateurs lors des authentifications

Ajouté par Benjamin Dauvergne il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
22 octobre 2017
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Il y aurait deux settings A2_USER_FILTER et A2_USER_EXCLUDE, ils prendraient un dictionnaire de filtre comme valeur, ex.:

A2_USER_FILTER = {'email__endswith': '@entrouvert.com'}
A2_USER_EXCLUDE = {'ou__slug': 'usagers'}

Une nouvelle fonction authentic2.utils.get_loggable_user_queryset() serait définit, elle devrait être utilisée par tous les backends en remplacement de l'habituel User.objects.


Fichiers


Demandes liées

Lié à Authentic 2 - Development #20455: Le filtre sur les utilisateurs autorisés à se connecter devrait s'appliquer aussi au formulaire de récupération de mot de passeFermé06 décembre 2017

Actions

Révisions associées

Révision 4aec4f62 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 6 ans

add settings to filter user authorized to authenticate (fixes #19597)

Added:
- A2_USER_FILTER and A2_USER_EXCLUDE settings, contains kwargs for
User.filter() and User.exclude(),
- two helper methods for backends: authentic2.backend.get_user_queryset() and
authentic2.backend.is_user_authenticable(),
- all backends modified to use those.

Révision 05a778b7 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 6 ans

auth_ssl: clean code (#19597)

Révision 7a53f3ff (diff)
Ajouté par Benjamin Dauvergne il y a plus de 6 ans

do not apply user filters to delegated authentications (fixes #19597)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Description mis à jour (diff)
#2

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Sujet changé de ajouter des settings pour filtre des utilisateurs des modes de connection à ajouter des settings pour filtre les utilisateurs lors des authentifications
#5

Mis à jour par Thomas Noël il y a plus de 6 ans

  • dans src/authentic2/auth2_auth/auth2_ssl/backends.py t'en profites pour nettoyer, petit frippon
  • logger = logging.getLogger(__name__) : je pensais qu'il fallait pas mettre ça au niveau du module ? (et fred me dit que c'est toi qui avait dit ça ?)
  • j'ai pas forcément bien cerné le if not user: return True dans is_user_authenticable, mais je pense qu'un petit commentaire pourrait expliquer pourquoi c'est nécessaire
  • dpam/backends.py : il doit manquer un "return None" après le logger.info(u'auth_pam: authentication refused by user filters')
  • authentic2_auth_saml/backends.py : à l'inverse, ajouter un logger.info avant le return None ?
#6

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

Thomas Noël a écrit :

  • dans src/authentic2/auth2_auth/auth2_ssl/backends.py t'en profites pour nettoyer, petit frippon

séparé.

  • logger = logging.getLogger(__name__) : je pensais qu'il fallait pas mettre ça au niveau du module ? (et fred me dit que c'est toi qui avait dit ça ?)

Ouais j'ai mis de l'eau dans mon vin, ça dépend si il y a des chances que le package soit chargé avant la configuration des logs ou pas, ici ce n'est jamais le cas, les backends ne sont chargés qu'au premier appel à authenticate().

  • j'ai pas forcément bien cerné le if not user: return True dans is_user_authenticable, mais je pense qu'un petit commentaire pourrait expliquer pourquoi c'est nécessaire

D'ac.

  • dpam/backends.py : il doit manquer un "return None" après le logger.info(u'auth_pam: authentication refused by user filters')

Yep corrigé.

  • authentic2_auth_saml/backends.py : à l'inverse, ajouter un logger.info avant le return None ?
#7

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

Thomas Noël a écrit :

  • authentic2_auth_saml/backends.py : à l'inverse, ajouter un logger.info avant le return None ?

Corrigé.

#8

Mis à jour par Thomas Noël il y a plus de 6 ans

Benjamin Dauvergne a écrit :

Thomas Noël a écrit :

  • authentic2_auth_saml/backends.py : à l'inverse, ajouter un logger.info avant le return None ?

Ca manque aussi dans src/authentic2/backends/ldap_backend.py mais peut-être que tu l'as pas mis parce qu'on yield des user quand on joue avec ldap ?

#9

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

Thomas je n'ai pas compris ton dernier commentaire.

#10

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Statut changé de Nouveau à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#12

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Lié à Development #20455: Le filtre sur les utilisateurs autorisés à se connecter devrait s'appliquer aussi au formulaire de récupération de mot de passe ajouté
#13

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF