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 :

Spring security form login custom


Sujet :

Spring Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 171
    Points : 56
    Points
    56
    Par défaut Spring security form login custom
    Bonjour,
    Je travaille sur une application avec les frameworks Spring, Struts2, Hibernate, je souhaite intégrer Spring Security.
    Je veux ajouter un formulaire personnalisé de login, mais l'application me renvoie une exception :
    voila mon web.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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <display-name>ata</display-name>
        <session-config>
            <session-timeout>30</session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>loginForm.jsp</welcome-file>
        </welcome-file-list>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                WEB-INF/classes/*.xml
            </param-value>
             
        </context-param>
        <filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
    </web-app>
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
        xmlns:security="http://www.springframework.org/schema/security"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
            http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
            http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
        <security:http pattern="/login" security="none" />
        <security:http use-expressions="true">
            <security:intercept-url pattern="/admin/*"
                access="hasRole('ROLE_USER')" />
            <security:form-login
                    login-page="/login"
                    default-target-url="/index"
                    authentication-failure-url="/login"/>
            <security:logout logout-url="/logout" logout-success-url="/index"/>
     
        </security:http>
        <security:authentication-manager>
            <security:authentication-provider>
                <security:user-service>
                    <security:user name="utilisateur" authorities="ROLE_USER"
                        password="motDePasse" />
                </security:user-service>
            </security:authentication-provider>
        </security:authentication-manager>
    </beans>
    struts.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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    <struts>
        <include file="struts-default.xml" />
        <package name="default" namespace="/admin" extends="struts-default">
            .
            .
            .
            .
            .
            .
            .  
        </package>
        <package name="package1" extends="struts-default" >
            <action name="/login" class="com.projet.action.LoginAction" method="login">
                <result name="success">loginForm.jsp</result>
                <result name="error">compte.jsp</result>
            </action>
            <action name="/index">
                <result>index.jsp</result>
            </action>
        </package>
    </struts>
    LoginAction.java

    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
     
    import com.opensymphony.xwork2.ActionSupport;
     
    import com.opensymphony.xwork2.ModelDriven;
     
    public class LoginAction extends ActionSupport implements ModelDriven{
     
        public Object getModel() {
            // TODO Auto-generated method stub
            return null;
        }
     
        public String login(){
            try {
                return SUCCESS;
            } catch (Exception e) {
                return ERROR;
            }
     
        }
     
    }
    loginForm.jsp

    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
     
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>application | Accueil</title>
    </head>
    <body>
        <center>
            <h1>TGRNVP Application | Amabis Maroc</h1>
            <s:form action="j_spring_security_check" method="POST">
                <s:textfield name="j_username" label="Login" autofocus="autofocus"/>
                <s:password name="j_password" label="Mot de passe"/>
                <s:submit name="Envoyer" value="Envoyer"/>
            </s:form>
            <font color="red">
                <span>${sessionScope["SPRING_SECURITY_LAST_EXCEPTION"].message}</span>
            </font>
        </center>
    </body>
    </html>
    sur la console, l'erreur suivante s'affiche:

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    avr. 29, 2014 4:34:21 PM org.springframework.orm.hibernate3.HibernateTransactionManager afterPropertiesSet
    Infos: Using DataSource [org.apache.commons.dbcp.BasicDataSource@2625c4] of Hibernate SessionFactory for HibernateTransactionManager
    avr. 29, 2014 4:34:21 PM org.springframework.web.context.ContextLoader initWebApplicationContext
    Infos: Root WebApplicationContext: initialization completed in 9547 ms
    avr. 29, 2014 4:34:21 PM com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
    Infos: Parsing configuration file [struts-default.xml]
    avr. 29, 2014 4:34:22 PM com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
    Infos: Parsing configuration file [struts-plugin.xml]
    avr. 29, 2014 4:34:22 PM com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
    Infos: Parsing configuration file [struts.xml]
    avr. 29, 2014 4:34:22 PM org.apache.struts2.spring.StrutsSpringObjectFactory info
    Infos: Initializing Struts-Spring integration...
    avr. 29, 2014 4:34:22 PM com.opensymphony.xwork2.spring.SpringObjectFactory info
    Infos: Setting autowire strategy to name
    avr. 29, 2014 4:34:22 PM org.apache.struts2.spring.StrutsSpringObjectFactory info
    Infos: ... initialized Struts-Spring integration successfully
    avr. 29, 2014 4:34:24 PM org.apache.coyote.http11.Http11Protocol init
    Infos: Initializing Coyote HTTP/1.1 on http-8080
    avr. 29, 2014 4:34:24 PM org.apache.coyote.http11.Http11Protocol start
    Infos: Starting Coyote HTTP/1.1 on http-8080
    avr. 29, 2014 4:34:36 PM org.apache.struts2.components.ServletUrlRenderer warn
    Avertissement: No configuration found for the specified action: 'j_spring_security_check' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
    avr. 29, 2014 4:34:38 PM org.apache.struts2.components.ServletUrlRenderer warn
    Avertissement: No configuration found for the specified action: 'j_spring_security_check' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
    avr. 29, 2014 4:34:43 PM org.apache.struts2.dispatcher.Dispatcher warn
    Avertissement: Could not find action or result
    There is no Action mapped for namespace / and action name index. - [unknown location]
        at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
        at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
        at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
        at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
        at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
        at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
        at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:744)
    Nom : msg.PNG
Affichages : 677
Taille : 10,7 Ko
    Merci de m'aider, je suis vraiment bloqué

  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
    Points : 15 059
    Points
    15 059

Discussions similaires

  1. Spring Security Without Form Login
    Par PyroArkange dans le forum Spring Web
    Réponses: 0
    Dernier message: 24/04/2014, 16h26
  2. Réponses: 0
    Dernier message: 23/08/2012, 12h32
  3. Réponses: 2
    Dernier message: 02/07/2011, 12h34
  4. Spring Security Login Role
    Par g25452 dans le forum Spring
    Réponses: 0
    Dernier message: 12/05/2009, 14h38
  5. Spring securite :form-login
    Par santati dans le forum Spring Web
    Réponses: 4
    Dernier message: 18/03/2009, 16h40

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