Bonjour,

Je débute en Spring MVC, Spring Security et c'est la première fois que j'essaye de monter de zéro un projet avec.

Niveau fonctionnel je n'ai pas trop de soucis avec j'ai un formulaire personnalisé qui redirige vers un index. Mais de là impossible d’accéder à mes images.

J'ai d'abord cru que ça venait de spring security, mais même en filtrant j'ai un 404.

security.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
 
<?xml version="1.0" encoding="UTF-8"?>
<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-3.1.xsd">
 
	<http pattern="/img/flags/**" security="none"/>
	<http auto-config="true" use-expressions="true" disable-url-rewriting="true">
	    <intercept-url pattern="/login" access="permitAll" />
		<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
		<intercept-url pattern="/img/flags/**" access="permitAll" />
		<form-login login-page="/login" default-target-url="/index" authentication-failure-url="/login?error=1" />
        <logout logout-success-url="/index" />
	</http>
 
	<authentication-manager>
	  <authentication-provider>
	    <user-service>
		  <user name="login" password="mdp" authorities="ROLE_USER" />
	    </user-service>
	  </authentication-provider>
	</authentication-manager>
 
</beans:beans>
mvc-dispatcher-servlet.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
 
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	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-3.1.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.1.xsd">
 
	<bean id="messageSource"
		class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
		<property name="basename" value="classpath:projet" />
		<property name="defaultEncoding" value="UTF-8" />
	</bean>
 
	<bean id="localeChangeInterceptor"
		class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
		<property name="paramName" value="lang" />
	</bean>
 
	<bean id="localeResolver"
		class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
		<property name="defaultLocale" value="fr_FR" />
	</bean>
 
	<bean id="handlerMapping"
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
		<property name="interceptors">
			<ref bean="localeChangeInterceptor" />
		</property>
	</bean>
 
	<context:component-scan base-package="package" />
 
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
</beans>
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<web-app 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 
 
	<display-name>Projet</display-name>
 
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/mvc-dispatcher-servlet.xml,
			/WEB-INF/security.xml
		</param-value>
	</context-param>
 
	<!-- Filter/Listener for spring security -->
 
	<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>
 
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
 
	<!-- Listener/Servlet for spring mvc -->
 
	<listener>
		<listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
	</listener>
 
 	<servlet>
		<servlet-name>mvc-dispatcher</servlet-name>
			<servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>mvc-dispatcher</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
 
	<welcome-file-list>
	    <welcome-file>
	        index
	    </welcome-file>
	</welcome-file-list>
 
</web-app>
index.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
25
26
27
28
29
30
31
32
33
 
<%@ taglib prefix='sec' uri='http://www.springframework.org/security/tags' %>
<%@ taglib prefix='spr' uri="http://www.springframework.org/tags" %>
<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>
			<spr:message code="index.title" />
		</title>
    	<!-- Bootstrap -->
    	<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" />
    	<script src="http://code.jquery.com/jquery-latest.js"></script>
    	<script src="bootstrap/js/bootstrap.min.js"></script>	
	</head>
	<body>
		<h2>
			<spr:message code="index.label.welcome"/> 
			<sec:authentication property="principal.username" />
		</h2>
		<a href="j_spring_security_logout">
			<spr:message code="index.label.logout" />
		</a>
		<br />
		<br />
		<img src='<spr:url value='img/flags/en_US.png'/>' alt="English Flag" />
		<a href="?lang=en_US">EN</a>
		<img src='<spr:url value='img/flags/fr_FR.png'/>' alt="French Flag" />
		<a href="?lang=fr_FR">FR</a>
	</body>
</html>
erreur :
GET http://localhost:8080/img/flags/en_US.png 404 (Introuvable) index:27
GET http://localhost:8080/img/flags/fr_FR.png 404 (Introuvable) index:29

Dans mon dossier webapp :
webapp
--bootstrap
--img
----flags
--WEB-INF
----jsp
----properties
----web.xml
----security.xml
----mvc-dispatcher-servlet.xml

J'utilise eclipse avec maven et tomcat 7 (même si ça m'a pas l'air de venir de là)

Je vous remercie d'avance pour votre aide. Bien cordialement

Electron-Libre