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 :

authentification spring security


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 25
    Points
    25
    Par défaut authentification spring security
    Bonsoir,
    comment procéder à une authentification de 2 manières :
    1. par une page login
    2. authentification direct en passant en paramètre le login et mot de passe en url(sans page login)


    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2002
    Messages : 98
    Points : 169
    Points
    169
    Par défaut
    Bonjour,
    La première question est trop complexe pour être abordée dans un forum. Il faut chercher un peu, lire des tutos par exemple. Plus généralement la sécurité n'est pas un sujet simple à prendre à la légère. Tout est très bien expliqué dans la doc de spring-security.
    Et vu votre deuxième question je vous conseille vraiment de la lire.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par aamiratou Voir le message
    Bonsoir,
    comment procéder à une authentification de 2 manières :
    1. par une page login
    2. authentification direct en passant en paramètre le login et mot de passe en url(sans page login)


    Merci d'avance.
    Dans les grandes lignes :

    une des manières de faire pour supporter les 2 méthodes de login est de subclasser
    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
    et de placer cette classe comme custom filter dans la configuration http de spring-security:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <security:http ... >
    		<security:custom-filter before="FORM_LOGIN_FILTER" ref="restLoginFilter" />
    ...
     
     
    </security:http>
     
    <bean id="restLoginFilter" class="YourSubClassOfUsernamePasswordAuthenticationFilter">
    ...
    </bean>
    en la plaçant avant le FORM_LOGIN_FILTER vous aurez la possibilité d'authentifier l'utilisateur à votre manière
    dans l'override de la méthode attemptAuthentication()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException
    Vous devez créer un UsernamePasswordAuthenticationToken et le passer à l'authentication manager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return this.getAuthenticationManager().authenticate(myAuthToken);
    Ne vous préoccupez de valider le login/password dans votre code : l'authentication manager s'en occupe,
    vous devez juste remplir le UsernamePasswordAuthenticationToken, même avec des valeurs vides si les paramètres manquent…
    Si l'authentication réussit, la page de login sera skippée sinon on continue comme d'habitude… le FORM_LOGIN_FILTER reprend la main.

    Cela pour un GET, mais pour que le POST du form login continue à fonctionner vous devez tester si la méthode est un POST
    et dans ce cas juste appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return super.attemptAuthentication(request, response) ;
    Si vous voulez des URLs success/failure différentes dans le cas de GET et de POST, vous devez les mettre en place à chaque requête avec setAuthenticationSuccessHandler et setAuthenticationFailureHandler.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2014, 07h47
  2. authentification spring security en utilisant la base de données
    Par kariel dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 22/05/2014, 13h33
  3. plusieurs types authentification spring security
    Par ekremyilmaz dans le forum Spring
    Réponses: 7
    Dernier message: 10/04/2013, 16h36
  4. Spring security + Web service: Authentification
    Par Toinou87 dans le forum Services Web
    Réponses: 1
    Dernier message: 11/07/2009, 15h32
  5. [Spring Security] Authentification par groupe LDAP
    Par titeuf92 dans le forum Spring Web
    Réponses: 2
    Dernier message: 25/06/2008, 10h28

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