IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Custom AuthenticationProvider et UserDetailService avec 2 tables d'utilisateurs


Sujet :

Spring Java

  1. #1
    Membre très actif
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut Custom AuthenticationProvider et UserDetailService avec 2 tables d'utilisateurs
    Bonsoir à tous !

    Je galère pour trouver un exemple de ce que j'aimerais faire alors je me tourne vers vous.

    Alors en fait j'utilise déjà Spring Security pour gérer l'authentification de la partie admin de mon site, cette authentification se fait une implémentaion de userDetailService qui interroge ma table "ADMIN" et il y a un certaine nombre de rôle admin.

    Mais voilà j'aimerais bien aussi gérer l'accès "espace perso" des utilisateurs de mon site en utilisant aussi Spring Security avec un autre formulaire et un service qui interroge la table "USER" et ne me donne que le rôle "user" .

    J'ai essayer plusieurs chose sans succès j'ai l'impression qu'il faudrait que je créer mon propre authenticationProvider mais voilà je n'ai pas trouver d'exemple assez parlant par rapport à mon prob ...

    Donc si vous pouviez m'aider ça serait super !

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Pourquoi ne pas simplement utiliser une table?
    Tu pourrais bien différencier un simple USER et un Admin selon les rôles.

    A+.

  3. #3
    Membre très actif
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut
    Tout simplement parce que la table "user" possède beaucoup plus de champs que la table "admin".

    il y a plusieurs milliers d'utilisateurs et j'aime autant ne pas mélanger les utilisateurs et les administrateurs , et niveaux sécurité sa évite de faire une erreur du genre "oops j'ai passé un user à un role admin"

  4. #4
    Membre Expert Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 447
    Par défaut
    tu implémentes AuthenticationManager avec ton test sur les 2 tables, et dans ton application context tu ajoutes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <bean id="authenticationService" class="l'implementation" />
    <bean id="authenticationFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"
    		p:authenticationManager-ref="authenticationService"
    ...
    " />
     
    <http auto-config="false" entry-point-ref="authenticationEntryPoint">
    		<custom-filter ref="authenticationFilter"
    			position="FORM_LOGIN_FILTER" />
    		...
    	</http>
    sinon ce serait plus simple une seule table pour les user et admin, et une seconde table à joindre qui contient les champs supplémentaires des users.

  5. #5
    Membre très actif
    Inscrit en
    Juin 2005
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 210
    Par défaut
    et c'est pas possible de faire en sorte d'avoir "2" authenticationManager mais qui ne sont pas appeler a chaque fois , je veux dire par là , le formulaire de login de la partie admin appelle uniquement l'authenticationManager qui check la table admin et le form de login utilisateur appelle l'authenticationManager qui check la table user ?

    j'ai l'impression qu'on est obliger d'en avoir qu'un qui check forcement les 2 tables ?

Discussions similaires

  1. TDBChart et liaison logicielle avec une table ?
    Par Mailgifson dans le forum C++Builder
    Réponses: 10
    Dernier message: 27/07/2004, 14h11
  2. Renommer une colonne avec ALTER TABLE...
    Par David.V dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2004, 10h33
  3. récuperer l'@IP Avec la table nat
    Par acastor dans le forum Développement
    Réponses: 4
    Dernier message: 10/06/2004, 11h15
  4. Probleme avec une table vide
    Par king dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/03/2004, 14h24
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo