OVH Cloud OVH Cloud

Struts et navigation

13 réponses
Avatar
Bernard Koninckx
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connection. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connection. Une fois la
connection établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur la
page de connection.

Est-ce possible de manière simple avec le framework Struts? En effet, je
souhaite vraiment rester dans ce cadre et utiliser la servlet contrôleur de
Struts pour faire cela.

Merci d'avance à tous pour vos suggestions, conseils et remarques, ...

Bernard

10 réponses

1 2
Avatar
xav
Bernard Koninckx wrote:
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connection. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connection. Une fois la
connection établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur la
page de connection.

Est-ce possible de manière simple avec le framework Struts? En effet, je
souhaite vraiment rester dans ce cadre et utiliser la servlet contrôleur de
Struts pour faire cela.

Merci d'avance à tous pour vos suggestions, conseils et remarques, ...

Bernard




(Je n'ai strictement aucune idée de la réponse :o)
C'est juste pour préciser que, en français, connexion s'ecrit avec un x.

@+

Xavier.

Avatar
Bernard Koninckx
Ben je pensais bien ... mais a force de lire des bouquins de référence en
Anglais, ben ... tu connais la suite.

Bernard

"xav" a écrit dans le message de
news:d55ffs$ebh$
Bernard Koninckx wrote:
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connection. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connection. Une
fois la


connection établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur
la


page de connection.

Est-ce possible de manière simple avec le framework Struts? En effet, je
souhaite vraiment rester dans ce cadre et utiliser la servlet contrôleur
de


Struts pour faire cela.

Merci d'avance à tous pour vos suggestions, conseils et remarques, ...

Bernard




(Je n'ai strictement aucune idée de la réponse :o)
C'est juste pour préciser que, en français, connexion s'ecrit avec un x.

@+

Xavier.



Avatar
Stephane Zuckerman
(s/connection/connexion/g)
Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connexion. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connexion. Une fois
la connexion établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur
la page de connexion.

Est-ce possible de manière simple avec le framework Struts?


Je suppose que la page accédée l'est au travers d'une action Struts
(quelque chose du genre http://url/action.do).
Une facon simple (sans doute trop) de faire serait que action.do détecte
que la session n'est pas activée, fasse un forward sur l'action de
connexion (appelons-la connexion.do) après avoir positionné une variable
de session.

Cela donnerait quelque chose du genre :

Entree sur action.do
Si session pas ouverte alors
from <- "action.do" /* variable de session */
forward("connexion.do")
Sinon
Si from est non null alors from <- null
/* code de action.do */
FinSi

Entree sur connexion.do
res <- verif(login,pass)
Si res est vrai alors
Si from est non null alors
forward(from)
Sinon forward(debut_site)
FinSi
Sinon
forward("connexion")
FinSi

En effet, je souhaite vraiment rester dans ce cadre et utiliser la
servlet contrôleur de Struts pour faire cela.


Le contrôleur n'est qu'un aiguilleur. Eventuellement, tu peux automatiser
l'algo que je te propose en étendant ActionMapping. Ce n'est pas difficile
en soi, mais cela suppose une relativement bonne compréhension de la façon
dont Struts fonctionne.

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)

Avatar
Bernard Koninckx
Merci, j'avais tout à fait pensé à cette algorithmique. Malheureusement, je
ne suis que débutant et n'ai pas encore une connaissance suffisante de
Struts pour étendre certains comportement d'origine d'ActionMapping.

Je ferais sans doute dans un premier temps un forward ou une redirection sur
la page de connexion sans pour autant revenir sur la page d'origine.

Bernard

"Stephane Zuckerman" a écrit dans le message de
news:
(s/connection/connexion/g)
Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connexion. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connexion. Une fois
la connexion établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur
la page de connexion.

Est-ce possible de manière simple avec le framework Struts?


Je suppose que la page accédée l'est au travers d'une action Struts
(quelque chose du genre http://url/action.do).
Une facon simple (sans doute trop) de faire serait que action.do détecte
que la session n'est pas activée, fasse un forward sur l'action de
connexion (appelons-la connexion.do) après avoir positionné une variable
de session.

Cela donnerait quelque chose du genre :

Entree sur action.do
Si session pas ouverte alors
from <- "action.do" /* variable de session */
forward("connexion.do")
Sinon
Si from est non null alors from <- null
/* code de action.do */
FinSi

Entree sur connexion.do
res <- verif(login,pass)
Si res est vrai alors
Si from est non null alors
forward(from)
Sinon forward(debut_site)
FinSi
Sinon
forward("connexion")
FinSi

En effet, je souhaite vraiment rester dans ce cadre et utiliser la
servlet contrôleur de Struts pour faire cela.


Le contrôleur n'est qu'un aiguilleur. Eventuellement, tu peux automatiser
l'algo que je te propose en étendant ActionMapping. Ce n'est pas difficile
en soi, mais cela suppose une relativement bonne compréhension de la façon
dont Struts fonctionne.

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)



Avatar
Bernard Koninckx
Merci pour la réponse.
Pour moi l'algorithmique était clair. C'était plus tôt la mise en place de
la solution qui me posait problème.

Je ne suis que débutant en Struts et vais me borner pour l'instant à un
forward ou un redirect des pages incriminées vers la page de connexion.
J'essaierai ensuite lorsque ma maîtrise de Struts sera suffisante de faire
ce que tu me suggère.

Bernard Koninckx


"Stephane Zuckerman" a écrit dans le message de
news:
(s/connection/connexion/g)
Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connexion. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connexion. Une fois
la connexion établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur
la page de connexion.

Est-ce possible de manière simple avec le framework Struts?


Je suppose que la page accédée l'est au travers d'une action Struts
(quelque chose du genre http://url/action.do).
Une facon simple (sans doute trop) de faire serait que action.do détecte
que la session n'est pas activée, fasse un forward sur l'action de
connexion (appelons-la connexion.do) après avoir positionné une variable
de session.

Cela donnerait quelque chose du genre :

Entree sur action.do
Si session pas ouverte alors
from <- "action.do" /* variable de session */
forward("connexion.do")
Sinon
Si from est non null alors from <- null
/* code de action.do */
FinSi

Entree sur connexion.do
res <- verif(login,pass)
Si res est vrai alors
Si from est non null alors
forward(from)
Sinon forward(debut_site)
FinSi
Sinon
forward("connexion")
FinSi

En effet, je souhaite vraiment rester dans ce cadre et utiliser la
servlet contrôleur de Struts pour faire cela.


Le contrôleur n'est qu'un aiguilleur. Eventuellement, tu peux automatiser
l'algo que je te propose en étendant ActionMapping. Ce n'est pas difficile
en soi, mais cela suppose une relativement bonne compréhension de la façon
dont Struts fonctionne.

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)



Avatar
Jaypee
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connection. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connection. Une fois la
connection établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur la
page de connection.

Est-ce possible de manière simple avec le framework Struts? En effet, je
souhaite vraiment rester dans ce cadre et utiliser la servlet contrôleur de
Struts pour faire cela.

Merci d'avance à tous pour vos suggestions, conseils et remarques, ...

Bernard

Bonjour à toi,

L'une des méthodes consiste à intervenir dans le début du traitement des
pages qui commence toujours par dessiner la mise en page commune
(header, menu gauche, footer). L'intervention consiste à détecter la
présence d'une propriété que l'on attache à la description dans la
config des pages qui nécessitent l'authentification (struts config).
La présence de la propriété provoque l' appel d'une action prédéfinie
qui va placer un objet dans la session s'il n'existe pas déjà, avant de
poursuivre le traitement du contenu créé par l'action.
Je ne sais pas s'il y a une recette bien définie mais je chercherais
autour de l' idée de préprocesseur de page.
Une autre approche est celle de l' exemple de code du tutorial Struts.
Une balise login en haut des page en question.

Bonne recherche,
J-P

Avatar
Lionel
Bernard Koninckx wrote:
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un
seul écran de connection. Si un utilisateur ouvre une page protégée
par mot-de-passe, il devra être redirigé vers la page de connection.
Une fois la connection établie (couple login/password validé) , je
souhaite que l'utilisateur soit automatiquement renvoyé à la page qui
m'a envoyée sur la page de connection.


Je vois au moins 4 possibilités:
1) container managed security

2) Security filter
http://securityfilter.sourceforge.net/

3) Faire une action qui étend Action ou DispatchAction et surcharge la
methode execute.
Toutes tes actions doivent étendre cette action.
Dans ton execute, tu vérifies en 1er si la session a été ouverte, si oui tu
executes l'action, si non, tu rediriges vers l'index.

4) un filtre qui vérifie le contenu de la session pour chaque requete
sécurisée et renvoit l'utilisateur non identifié vers l'index

Avatar
Bernard Koninckx
Merci à tous pour vos réponses, le problème n'est pas vraiment la navigation
d'une page X vers la page de connexion, relativement simple a mettre en
place. Mais plutôt le retour de la page de connexion vers la page X
appelante.

Bernard


"Bernard Koninckx" a écrit dans le message de
news:42763ec0$0$1405$
Bonjour à tous,

Je me trouve devant le problème suivant. Je souhaite avoir un et un seul
écran de connection. Si un utilisateur ouvre une page protégée par
mot-de-passe, il devra être redirigé vers la page de connection. Une fois
la

connection établie (couple login/password validé) , je souhaite que
l'utilisateur soit automatiquement renvoyé à la page qui m'a envoyée sur
la

page de connection.

Est-ce possible de manière simple avec le framework Struts? En effet, je
souhaite vraiment rester dans ce cadre et utiliser la servlet contrôleur
de

Struts pour faire cela.

Merci d'avance à tous pour vos suggestions, conseils et remarques, ...

Bernard




Avatar
ludo06
Bernard Koninckx wrote:
Merci à tous pour vos réponses, le problème n'est pas vraiment la navigation
d'une page X vers la page de connexion, relativement simple a mettre en
place. Mais plutôt le retour de la page de connexion vers la page X
appelante.

Bernard


C'est pour ca qu'il t'a ete suggere de mettre un variable en session qui

conserve l'url d'origine [url que tu obtiens facilement en consultant
les variables d'environnement] et une fois l'authentification faite de
faire une redirection vers l'url d'origine [que tu connais par lecture
de la variable en session]. Apres sur les moyens a mettre en oeuvre il y
a differentes facon de faire, ca depend de l'organisation de ton appli.

--
Cordialement,
---
Ludo
----
http://www.ubik-products.com

Avatar
Lionel
Bernard Koninckx wrote:
Merci à tous pour vos réponses, le problème n'est pas vraiment la
navigation d'une page X vers la page de connexion, relativement
simple a mettre en place. Mais plutôt le retour de la page de
connexion vers la page X appelante.


Il me semble que c'est le comportement par défaut de security filter et de
la securité container.

1 2