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 :

j_spring_security_check'/ méthode controller


Sujet :

Spring Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut j_spring_security_check'/ méthode controller
    Bonjour


    concernant Spring security.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
      <form method="post" action="<c:url value='/j_spring_security_check'/>">
     
            <label for="j_username">name</label>
            <input name="j_username" id="j_username"/>
            <label for="j_password">Pass </label>
            <input name="j_password" id="j_password"/>
     
            <input type="submit" value="s'identifier"/>
            <input name="reset" type="reset"/>
     
     
        </form>
    Je dois aller dans mon controller, comment dois je faire parce que j'ai dans le "value" => '/j_spring_security_check'/.
    j'aimerais mettre => "/login.htm" pour l'instant il ne va pas dans mon controller.

    Merci
    e

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut
    bonjour

    ma question n'était pas bonne.
    je ne connaît (pas encore) bien spring security et ma question ne sert a rien

    une autre question:

    il y a 2 possibilités de "login" sur mon site.
    est ce possible que chaque login a son propre "default-target-url"?
    par exemple : un login (si le login est bon) on va automatiquement sur la page de "menu.htm" (voir code) et que le deuxiéme login (si le login est bon) on va automatiquement sur "compteTotal.htm"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <form-login login-page="/login.htm" authentication-failure-url="/login.htm?error=true" default-target-url="/menu.htm"/>
    est ce possible? ou pas?
    et comment faire.

    Merci!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut
    je fait le suivant (en cherchant sur l'internet)



    une classe =>

    1)une Classe MySuccesHandler (si il l'attribut compteMap est vide, il me fait un redirect vers une autre page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    package vdab.util;
     
     
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.security.core.Authentication;
    import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
    import org.springframework.stereotype.Component;
     
    @Component
    public class MySuccesHandler implements AuthenticationSuccessHandler{
     
        @Override
        public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
     
     
     
            if(request.getSession().getAttribute("CompteMap") == null){
     
                response.sendRedirect("/menu.htm");
     
            }
            else{
                response.sendRedirect("/parcs/reservation/compteTotal.htm");
            }
        }
     
    }
    2)SpringSecurity.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <beans:beans xmlns="http://www.springframework.org/schema/security"
                 xmlns:beans="http://www.springframework.org/schema/beans"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:context="http://www.springframework.org/schema/context"
     
     
                 xsi:schemaLocation="http://www.springframework.org/schema/beans
                                     http://www.springframework.org/schema/beans/spring-beans.xsd
                                     http://www.springframework.org/schema/security 
                                     http://www.springframework.org/schema/security/spring-security-3.1.xsd
                                     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd">
     
     
     
        <bean id="mySuccessHandler" class="vdab.util.MySuccessHandler">
        </bean>
     
     
    <context:component-scan base-package="vdab.web vdab.util"/>
     
     
     <http pattern="/styles/*" security="none" />   
        <http pattern="/images/*" security="none" />   
        <http pattern="/scripts/*" security="none" />   
     
        <http use-expressions="true" realm="Parcs">
     
     
            <!--<form-login login-page="/login.htm" authentication-failure-url="/login.htm?error=true" default-target-url="/menu.htm"/>-->
    <form-login login-page="/login.htm" authentication-success-handler-ref="mySuccessHandler" />
     
     
            <intercept-url pattern="/menu.htm" 
                           access="permitAll()"/>  
     
            <intercept-url pattern="/gestion.htm" 
                           access="hasRole('manager')"/>   
            <!--          <intercept-url pattern="/beheer.htm" 
            access="hasRole('klant')"/> -->
            <intercept-url pattern="/index.htm" access="permitAll()"/>    
            <intercept-url pattern="/menu.htm" access="permitAll()"/>              
            <intercept-url pattern="/login.htm" access="permitAll()"/>        
     
     
            <access-denied-handler error-page="/WEB-INF/JSP/forbidden.jsp"/> 
            <logout logout-success-url="/menu.htm"/>
            <remember-me token-validity-seconds="86400"/>
     
    ........
    ........

    j'ai toujours ce problème::
    =>no declaration can be found for element 'bean'

    pour ceci =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <bean id="mySuccessHandler" class="vdab.util.MySuccessHandler">
        </bean>
    ------------------------------------
    -----------------------------------


    j'ai donc ajouté dans springSecurity.xml (et ce qui cause l'erreur du bean)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      <bean id="mySuccessHandler" class="vdab.util.MySuccessHandler">
        </bean>
    <form-login login-page="/login.htm" authentication-success-handler-ref="mySuccessHandler" />
    et la classe MySuccesHandler

    j'ai essayé dans mettre le bean dans le dispachter-servlet.xml, mais le problème persiste..


    que faire?
    Merci

  4. #4
    Membre très actif
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Billets dans le blog
    1
    Par défaut
    Salut essaye ça pour voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Component("mySuccessHandler")

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Par défaut
    cela ne marche pas (avec le @component)


    mon code
    la classe = mySuccesHandler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    package vdab.util;
     
     
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.security.core.Authentication;
    import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
    import org.springframework.stereotype.Component;
     
    @Component("mySuccessHandler")
    class MySuccesHandler implements AuthenticationSuccessHandler{
     
        @Override
        public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
     
     
     
            if(request.getSession().getAttribute("CompteMap") == null){
     
                response.sendRedirect("/menu.htm");
     
            }
            else{
                response.sendRedirect("/parcs/reservation/compteTotal.htm");
            }
        }
     
    }
    le springSecurity.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    <beans:beans xmlns="http://www.springframework.org/schema/security"
                 xmlns:beans="http://www.springframework.org/schema/beans"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
                                   http://www.springframework.org/schema/beans/spring-beans.xsd
                                     http://www.springframework.org/schema/security 
                                     http://www.springframework.org/schema/security/spring-security.xsd">
        <http pattern="/styles/*" security="none" />   
        <http pattern="/images/*" security="none" />   
        <http pattern="/scripts/*" security="none" />   
     
        <http use-expressions="true" >
     
     
     
          <form-login login-page="/login.htm" authentication-success-handler-ref="mySuccessHandler" />
     
     
            <intercept-url pattern="/menu.htm" 
                           access="permitAll()"/>  
     
            <intercept-url pattern="/gestion.htm" 
                           access="hasRole('manager')"/>   
     
            <intercept-url pattern="/index.htm" access="permitAll()"/>    
            <intercept-url pattern="/menu.htm" access="permitAll()"/>              
            <intercept-url pattern="/login.htm" access="permitAll()"/>        
     
     
            <access-denied-handler error-page="/WEB-INF/JSP/forbidden.jsp"/> 
            <logout logout-success-url="/menu.htm"/>
            <remember-me token-validity-seconds="86400"/>
     
        </http>    
     
                         <bean id="mySuccessHandler" class="vdab.util.mySuccessHandler">
    <authentication-manager>
    .....
        </authentication-manager>
     
        </bean>
     
     
     
     
    </beans:beans>

    lorsque je fait "validate XML" dans springSecurity.xml j'ai cette faute =>
    cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'bean'. [59]

    il ne trouve pas le bean pour mySuccesHandler
    "mySuccesHandler" se trouve dans => Sources packages => vdab.util

    et en cherchant sur l'internet je ne trouve pas de réponse

    Merci pour votre aide

Discussions similaires

  1. controler l'appel de la méthode paint
    Par jdewalqu dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 21/08/2007, 08h09
  2. Attaquer les méthodes d'un controle depuis une classe
    Par chti_vince dans le forum ASP.NET
    Réponses: 10
    Dernier message: 18/07/2007, 15h04
  3. Consommer les méthodes d'un controle depuis une classe
    Par chti_vince dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/07/2007, 09h22
  4. Réponses: 3
    Dernier message: 04/04/2007, 08h45
  5. [VB]déplacement d'un controle image avec la méthode move
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 22/03/2006, 19h03

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