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

GWT et Vaadin Java Discussion :

Sécurité et évolutivité de GWT


Sujet :

GWT et Vaadin Java

  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Par défaut Sécurité et évolutivité de GWT
    Bonjour
    Est ce que GWT permet de protéger les applications Web des attaques malveillantes,
    cross-site scripting, injection JavaScript malveillant, et le danger d'exposition de la logique métier au client…
    Merci d'avance pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    GWT ne t'empeche pas de mettre en place une politique de sécurité.

    J'ai vu dans ce forum un sujet sur l'utilisation de SpringSecurity.

    GWT fourni des utilitaires permettant d'encoder les urls ou les paramtres passés dans des "formulaires".

    Philippe

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Par défaut
    Merci pour votre réponse

    Esqil permet une gestion de sessions robuste?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    non nativement, il ne gère pas les sessions. C'est une des faiblesse de GWT. Par contre il est très facile d'utiliser Acegi (SpringSecurity)

    http://www.dotnetguru2.org/bmarchess...acegi_with_gwt

    Il faut garder à l'esprit qu'il est important de sécuriser les flux (entrées des utilisateurs, URL, Paramêtre, etc...).

    Je me pose la question des flux GWT-RPC, je ne sais pas bien si ils ont un sécurité en plus. A voir.

  5. #5
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Citation Envoyé par kenji_getpowered Voir le message
    non nativement, il ne gère pas les sessions. C'est une des faiblesse de GWT. ...
    Je ne suis pas d'accord avec ce point.

    En terme d'architecture, faire en sorte qu'une application Web fonctionne en mode state-less côté serveur apporte beaucoup d'avantages, dont la facilité d'ajouter des clusters de serveurs afin d'absorber de grosses charges de connexions.

    L'utilisation de la session Web n'est donc pas une bonne pratique à cause de cela.

    GWT apporte une solution élégante à la mise en cache de données utilisateurs. Il suffit d'utiliser un singleton côté client et d'y stocker les variables.

    Néanmoins, rien n'empeche, techniquement, d'utiliser une session Http avec GWT.

    GWT ne met pas en avant cette technique car il ne s'agit pas d'une bonne pratique.

    Cordialement,
    philippe

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Tu as raison, je comprends les enjeux. Pourtant dans certains cas c'est tellement pratique et c'est la première solution qui vient à l'esprit notamment en ce qui concerne les problèmes de sécurité. Comment tu fais pour t'assurer que c'est bien le bon client avec lequel tu discutes?

  7. #7
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    ReSalut,

    J'utilise la session En fait, la seule et unique variable qui se trouve en session est l'id de l'utilisateur qui m'est passé par le WebSSO (single sign on)

    Je n'ai pas chercher à me débarrasser de cette variable car je n'ai pas besoin de rendre mon appli totalement sans état.

    J'ai néanmoins utilisé un filtre Http en front de ma pile Http afin de décolérer ce code d'accès à l'id utilisateur du reste de l'appli.

    Tout le reste de mon appli est stat-less. Le jour où on aura besoin de la faire tourner sur un cluster il suffira juste de redéfinir ce filtre pour le rendre entièrement sans état.

    Je n'ai pas encore eu besoin de réfléchir concretement à cette problématique, mais je pense qu'il doit y avoir plusieurs stratégies possible.

    D'ailleurs, puisque l'ID de l'utilisateur est très petite en taille mémoire, je pense qu'il est envisageable dans certains contextes d'activer le partage de la session entre les serveurs du cluster.

    Le piège est qu'il ne faut rien ajouter d'autre dans la session, car le risque est d'alourdir la réplication de la session.

  8. #8
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Petite précision sur la session. En fait avec le SSO il suffit d'utiliser un cookie qui est géré par le SSO.

    Donc pas besoin de session du tout. Dans mon cas j'utilisais une session car j'utilisais un jar d'entreprise qui décodais le cookie et le mettait en session.

    J'ai laissé comme ca car cela ne m'impactais pas directement. Mais si j'ai besoin un jour de supprimer totalement la session ce ne sera pas compliqué. Il suffira de lire directement le cookie SSO.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Techniquement pourrais tu préciser comment tu fais stp?
    ça m'intéresse beaucoup. Pour mon application j'ai la même utilisation de GWT.

  10. #10
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Merci pour ton article très intéressant.

    Si je peux me permettre 2 petites remarques. C'est dommage que les commentaires soient désactivés cela prive d'une bonne discussion sur le sujet traité. Je trouve que les articles sont très informatifs, pourtant, il manque souvent quelques infos pour pouvoir mettre en place ce dont tu parles (pour un non initié). par exemple dans ton article tu dis "je ne mets pas le code", ok, mais pourquoi ne pas donner la possibilité de le télécharger.
    En tout cas ce sont des articles très agréables à lire et avec plein d'info. Merci.

  12. #12
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    je prends en compte tes remarques. Les raisons sont essentiellement mon temps disponible limité pour effectuer ces taches.

    Le code par exemple, pour le mettre en ligne il faudrait que je fasse un mini-projet exprès, qui fonctionne facilement. Le code dont je parlais dans l'article est tiré de projets d'entreprise et je n'ai pas le droit de publier le code tel quel.

    Les commentaires sont ouvert 60 jours après la publication de l'article. Cette date me permet de limiter le spam.

    Si tu souhaites discuter de l'article on peut le faire sur ce forum, moi ca me va, il suffit juste de me prévenir en m'envoyant un mail.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Et oui, cela prend énormément de temps d'écrire un article pertinent, c'est clair! Surtout avec un haut niveau de technicité comme celui la.
    Pour les spams, tu n'a pas de système anti spam?

    Sinon, pour la propriété du code, je comprends c'est un peu pareil pour moi. Des fois on frôle un peu la limite

    Je veux bien discuter de certains articles mais sur le forum, comment faut il faire? Ou ouvrir un sujet de discussion? Il faudrait que cela puisse éventuellement servir à la communauté.

  14. #14
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    L'anti-spam n'est pas infaillible, il faut le vérifier en temps réelle pour que de vrai commentaires ne soit pas stoppés.

    En ce moment je viens régulièrement sur ce forum (seulement dans la section GWT), tu peux ouvrir un post ici dans la section GWt si c'est pour parler d'un article, que ce soit le mien ou un autre d'ailleurs. Tout le monde pourra donner son avis et je le verrais.

    Si le poste amène une réflexion avec des aboutissements intéressants je pourrais toujours créer un nouveau billet sur mon blog pour synthétiser ces réflexions.

    Si ca peut motiver quelqu'un pour écrire un article qui sera publié sur développer ce sera tant mieux.

    Ca a déjà été le cas d'ailleurs. Une personne que j'ai aidé à résoudre un problème entre GWT et Maven est en train d'écrire un article pour le mettre sur développez.

Discussions similaires

  1. Sécurité et évolutivité de JSF
    Par benyahia4 dans le forum JSF
    Réponses: 1
    Dernier message: 05/05/2010, 20h47
  2. Sécurité et évolutivité de FLEX
    Par benyahia4 dans le forum Flex
    Réponses: 0
    Dernier message: 05/05/2010, 19h36
  3. Sécurité et évolutivité de Struts2
    Par benyahia4 dans le forum Struts 2
    Réponses: 0
    Dernier message: 05/05/2010, 19h28
  4. GWT & sécurité
    Par knice dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 26/03/2010, 13h47
  5. GWT-RPC, sécurité et serveur "clusterisé"
    Par ndeloof dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 09/07/2008, 20h31

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