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

Servlets/JSP Java Discussion :

Détourner une jsp d'un filter Tomcat


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut Détourner une jsp d'un filter Tomcat
    Bonjour,

    j'ai une application Web dans laquelle sont appliqués des filtres :

    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
     
    <filter>
    		<filter-name>CAS Validation Filter</filter-name>
    		<filter-class>
    			org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
    		<init-param>
    			<param-name>casServerUrlPrefix</param-name>
    			<param-value>https://identification.smacl.fr:8443/</param-value>
    		</init-param>
    		<init-param>
    			<param-name>serverName</param-name>
    			<param-value>http://localhost:8080</param-value>
    		</init-param>
    		<init-param>
    			<param-name>redirectAfterValidation</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</filter>
     
    	<filter>
    		<filter-name>CAS Authentication Filter</filter-name>
    		<filter-class>
    			org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    		<init-param>
    			<param-name>casServerLoginUrl</param-name>
    			<param-value>https://identification.smacl.fr:8443/login</param-value>
    		</init-param>
    		<init-param>
    			<param-name>serverName</param-name>
    			<param-value>http://localhost:8080</param-value>
    		</init-param>
    		<init-param>
    			<param-name>renew</param-name>
    			<param-value>false</param-value>
    		</init-param>
    		<init-param>
    			<param-name>gateway</param-name>
    			<param-value>false</param-value>
    		</init-param>
    	</filter>
     
    	<filter-mapping>
    		<filter-name>CAS Validation Filter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
     
    	<filter-mapping>
    		<filter-name>CAS Authentication Filter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    Ces filtres servent à rediriger l'application vers un serveur d'authentification CAS.

    Le mapping de ma servlet est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <servlet>
    		<display-name>Servlet</display-name>
    		<servlet-name>Servlet</servlet-name>
    		<servlet-class>fr.smacl.ficheutilisateur.servlet.Servlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>Servlet</servlet-name>
    		<url-pattern>*.srv</url-pattern>
    	</servlet-mapping>
    Le problème, c'est que j'aurai besoin qu'une jsp de l'application ne soit pas filtrée et je ne sais pas comment faire. Que faut-il mettre comme mapping de servlet et comme mapping de filtre pour que certaines pages puissent contourner ce filtre ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ce qu'il faut c'est changer le mapping de ton filtre. Soit tu remplace /* par /CAS/* et tu déplace tout ce qui doit rester derrière ton filtre dans CAS/ ensuite, ta servlet tu ne la met pas dans CAS et le tour est joué.

    Soit, plus compliqué, si tu veux pas jouer avec la structure, tu commence à faire plein de regles de filtrage pour les petit bout qui tournent autour de ta servlet, autant dire la galère

    que je sache, les mapping servlet n'ont pas de règle d'exclusion.

  3. #3
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    j'ai placer toutes mes jsp à protéger dans le dossier "protected" et j'ai configurer mon fichier web.xml de la manière suivante :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4"
    	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">
    	<display-name>FicheUtilisateur</display-name>
     
     
    	<filter>
    		<filter-name>CAS Validation Filter</filter-name>
    		<filter-class>
    			org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
    		<init-param>
    			<param-name>casServerUrlPrefix</param-name>
    			<param-value>https://identification.smacl.fr:8443/</param-value>
    		</init-param>
    		<init-param>
    			<param-name>serverName</param-name>
    			<param-value>http://localhost:8080</param-value>
    		</init-param>
    		<init-param>
    			<param-name>redirectAfterValidation</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</filter>
     
    	<filter>
    		<filter-name>CAS Authentication Filter</filter-name>
    		<filter-class>
    			org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    		<init-param>
    			<param-name>casServerLoginUrl</param-name>
    			<param-value>https://identification.smacl.fr:8443/login</param-value>
    		</init-param>
    		<init-param>
    			<param-name>serverName</param-name>
    			<param-value>http://localhost:8080</param-value>
    		</init-param>
    		<init-param>
    			<param-name>renew</param-name>
    			<param-value>false</param-value>
    		</init-param>
    		<init-param>
    			<param-name>gateway</param-name>
    			<param-value>false</param-value>
    		</init-param>
    	</filter>
     
    	<filter-mapping>
    		<filter-name>CAS Validation Filter</filter-name>
    		<url-pattern>/protected/</url-pattern>
    	</filter-mapping>
     
    	<filter-mapping>
    		<filter-name>CAS Authentication Filter</filter-name>
    		<url-pattern>/protected/</url-pattern>
    	</filter-mapping>
     
     
    	<servlet>
    		<display-name>Servlet</display-name>
    		<servlet-name>Servlet</servlet-name>
    		<servlet-class>fr.smacl.ficheutilisateur.servlet.Servlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>Servlet</servlet-name>
    		<url-pattern>*.srv</url-pattern>
    	</servlet-mapping>
    	<welcome-file-list>
    		<welcome-file>index.html</welcome-file>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    </web-app>
    Le problème c'est que je n'ai plus accès à ces jsp protégées même en étant authentifié.
    Ma page non protégée elle est toujours accessible. (ce qui est normal)

    Comment résoudre mon problème.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est peut etre ca ton problème?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	<filter-mapping>
    		<filter-name>CAS Validation Filter</filter-name>
    		<url-pattern>/protected/*</url-pattern>
    	</filter-mapping>
     
    	<filter-mapping>
    		<filter-name>CAS Authentication Filter</filter-name>
    		<url-pattern>/protected/*</url-pattern>
    	</filter-mapping>

  5. #5
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    J'ai testé tchize, mais j'obtiens les mêmes erreurs "404"

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    404 c'est fichier non trouvé, si t'as déplacé tes jsp, faut aussi changer tes urls

Discussions similaires

  1. pb d'affichage de form sur une jsp avec tomcat
    Par startin dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/05/2007, 09h32
  2. Réponses: 7
    Dernier message: 23/03/2007, 16h23
  3. pb de lancement d'une JSP en Eclipse-Tomcat
    Par adilo dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 17/11/2006, 16h58
  4. Comment créer et executer une page jsp sur eclipse et tomcat
    Par debutantjak dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 16/03/2006, 18h21
  5. [Tomcat]Probleme d'accès Servlet via une JSP
    Par jeune63000 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 29/01/2005, 11h48

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