Bonjour tt le monde ,
je veux interdire l'accès à quelques pages de mon application en saisissant leur URL directement dans le browser,l'utilisateur doit d'abord s’authentifier avant d’accéder a aucune page jsp .
merci d'avance ^^
Bonjour tt le monde ,
je veux interdire l'accès à quelques pages de mon application en saisissant leur URL directement dans le browser,l'utilisateur doit d'abord s’authentifier avant d’accéder a aucune page jsp .
merci d'avance ^^
bonjour,
-1- tu peux mettre tes pages jsp dans le répertoire WEB-INF par exemple, il faudra alors les appeler par l'intermédiaire d'une servlet.
-2- ou alors, tu crées un répertoire dans lequel tu mets toutes les jsp nécessitant une authentification et tu crées un filtre dans lequel tu testes les droits. Si c'est bon accès accordé sinon tu renvoies sur la page d'authentification.
Le filtre teste à chaque tentative d'acces au repertoire souhaité si l'acces est autorisé.
dans cet exemple, on teste si l'utilisateur a une session.
Le repertoire se nomme "restreint"
rajoute ce qui suit dans le 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 package com.monPackage.filters; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class RestrictionFilter implements Filter { public static final String ACCES_PUBLIC = "/authentification.jsp"; public static final String ATT_SESSION_USER = "sessionUtilisateur"; public void init( FilterConfig config ) throws ServletException { } public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain ) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; HttpSession session = request.getSession(); /** * Si l'objet utilisateur n'existe pas dans la session en cours, alors * l'utilisateur n'est pas connecté. */ if ( session.getAttribute( ATT_SESSION_USER ) == null ) { response.sendRedirect( request.getContextPath() + ACCES_PUBLIC ); } else { chain.doFilter( request, response ); } } public void destroy() { } }
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <filter> <filter-name>RestrictionFilter</filter-name> <filter-class>com.monPackage.filters.RestrictionFilter</filter-class> </filter> <filter-mapping> <filter-name>RestrictionFilter</filter-name> <url-pattern>/restreint/*</url-pattern> </filter-mapping>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager