bonjour a tous,
je veux savoir comment faire une methode qui s'execute au demarrage de page JSF? ou quelle est la methode qui s'execute au demarrage de la page JSF?
c'est pour pouvoir securiser mes pages JSF.
merci a tous
Version imprimable
bonjour a tous,
je veux savoir comment faire une methode qui s'execute au demarrage de page JSF? ou quelle est la methode qui s'execute au demarrage de la page JSF?
c'est pour pouvoir securiser mes pages JSF.
merci a tous
Si tu parles de sécurisé en générale, je considèrerais peut-être un filtre... Plus légé. Si tu as besoin du stack JSF, implémente un PhaseListener et registre le dans ton faces-config.xml...
Alex
j' ai une page d'authentification et ça marche pour toute l'application, mais quand on accede directement à les autre page sans passer par l'authentification il faut qu'il y a un retour a la page d'authentification.
je veux faire une methode qui s'execute au demarrage de la page pour tester s'il a ete authentifie.
je veux utiliser cette methode pour le moment, et apres on voie sur les techniques de securite des pages web utilisé(que se soit dans le developpement des pages jsf ou le serveur jboss ou d'utiliser JAAS meme que je n'ai pas une grand idée sur lui mais je vais essayer)
merci
C'est simple tu met ton authentification en session. Et a chaque page tu regarde ti ton attribut authentification est dans ta variable session. Si c'est le cas ca affiche la page normalement. Dans le cas contraire tu redirige vers ta page de login.
je rejoins alex en disant qu'un filtre ici est surement le plus adapté
s'il vous plait expliquer comment utiliser phase listener ( methode de Alex)
je vais essayer le methode de (maxf1)
merci
N'utilise le PhaseListener que si tu as besoin du stack JSF. Ce qui ne semble pas être le cas. J'opterais pour un Filter de ce que je vois...
Sinon JAAS... Tout est dans le specs!
Alex
SVP, pour le moment je veux savoir comment executer une methode au demarrage de chaque page JSf.
j'ai ne pas utilise le stack JSf (ne sait pas de quoi il s'agit est du trace page)
J'ai rien compris!
Au démarrage de chaque page cela ne veut rien dire!
Donc soit tu optes pour un PhaseListener (version JSF) our un Filter (version Servlet, mais qui est une couche sousjacente de JSF!!!).
Alex
excuser moi je m'explique,
mon but pour ma question c'est de ne pas autoriser les ouvertures des pages s'il n'est pas authentifie, je cherche un solution convenable et rapide pour resoudre ce probleme.j'ai comme idée de faire une methode qui s'execute au demarrge de page pour ne pas autoriser l'ouverture des ces pages s'il ne pas authentifié.
et cette methode rassemble a :
if(authentification == true)
ouvrir la page
else
aller a la page d'authentification
fin
merci pour votre comprehension
Je me répète donc:
- Si tu as tout ce qu'il faut à porté de main avec le stack JSF (genre un managed-bean UserAccount), tu peux implémenter un PhaseListener, que tu registre dans ton faces-config.xml.
- Si par contre, tu va aller directement dans la Session, implémente un Filter. Cette version est plus légère...
Alex
s'il vous plait expliquer un peu comment implementer un filtre!
merci d'avance
Qui miraculeusement à de la JavaDoc ici!!!Code:
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 public class MyFilter implements javax.servlet.Filter { private javax.servlet.FilterConfig myFilterConfig; public MyFilter() { } public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException { // Faire un truc avant... filterChain.doFilter(servletRequest, servletResponse); // Faire des trucs après... } public destroy() { } public void init(javax.servlet.FilterConfig filterConfig) { myFilterConfig = filterConfig; } }
Et que l'on configure de la sorte:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?xml version="1.0"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> ... <filter> <filter-name>testFilter</filter-name> <filter-class>com.developpez.servlet.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>testFilter</filter-name> <url-pattern>/faces/*</url-pattern> </filter-mapping> ... </web-app>
Mais sérieusement, tu ne penses pas que te procurer un ou deux ouvrages de référence ne serait pas un luxe? Je dis pas que tu dois les lire..! Non!!! Mais quand tu poses une question et que l'on te réponds à 5 reprises la même chose, que tu puisses au moins te renseigner toi-même! Sinon, je te file mes coordonnées! On te le fait ton projet ici: on travail en régie pour 520€ par jour!
Allez... Bonne chance!
Alex