Bonjour,

mon problème semblait avoir plusieurs réponses dans ce forum (ou sur d'autres forums du site), mais aucune ne semble fonctionner chez moi. Donc je le soumets à votre avis :
certaines pages de mon site ne sont pas prévues pour être accédées directement : elles sont le résultat d'un processus (par exemple une page classique : (monsite)/connected/userProfile/results/updateSuccessfull.jsf).

Je dispose donc d'une série de patterns que je voudrais rajouter à mon web.xml pour interdire l'accès direct à toutes les pages le respectant (/connected/userProfile/results/* par exemple ici). Par contre, il faut que ces pages restent accessibles à l'issu du processus qui déclenche à leur affichage.

J'ai suivi (je crois!) les solutions décrites ici et ici, ce qui me semblait donner qqchose comme ça (extrait de 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
 	<!-- forbidd direct access to results page (connected part) -->
 	<security-constraint>
		<web-resource-collection>
			<web-resource-name>NoDirectAccessToPages</web-resource-name>
			<description>
				Theses pages cannot be directly targeted 
			</description>
			<url-pattern>/connected/userProfile/results/*</url-pattern>
 		</web-resource-collection>
	  	<auth-constraint>
	   		<description>No direct access to this pattern</description>
	  	</auth-constraint>
	</security-constraint>
 
 	<!-- forbidd direct access to results page (disconnected part) -->
 	<security-constraint>
		<web-resource-collection>
			<web-resource-name>NoDirectAccessToDCPages</web-resource-name>
			<description>
				Theses pages cannot be directly targeted 
			</description>
			<url-pattern>/public/results/*</url-pattern>
 		</web-resource-collection>	  	<auth-constraint>
	   		<description>No direct access to this pattern</description>
	  	</auth-constraint>
	</security-constraint>
Mon problème est que si l'accès est effectivement bien restreint, il l'est malheureusement systématiquement, ie y compris dans le processus où ces pages doivent logiquement être affichées.

J'ai tenté de jouer avec les
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<http-method>GET/POST</http-method>
pour essayer d'y remédier, mais rien n'y fait.

Donc si qqn pouvait pointer du doigt l'erreur que j'ai forcément commise, ou me suggérer la bonne marche à suivre, il fera de moi un développeur heureux!

D'ici là, merci déjà de m'avoir lu, et par avance pour vos remarques ou suggestions!