• Like
Java pour le Web
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Java pour le Web

  • 1,143 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,143
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
25
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Pourquoi utiliser Spring security ? On a toujours le même problème de sécuriser une application Fourni un composant de sécurité tout en un, plus besoin de développer toute la partie sécurité soi même Les applications home made -> problème de maintient, manque de flexibilité Framework pour sécuriser: Documenté -> largement maintenu par Spring source Complet -> grand choix d‘authentification (voir après) Robuste -> Très utilisé par les applications „Spring based“ Meilleures pratiques d‘authentification: Utilise les dernières technologies Séparer au mieux la partie business de la partie de gestion des droits Configuration dans des fichiers externes (XML) Sécurisation de toutes les couches: Pages web par filtrage des URL (admin peut accéder à plus de pages par exemple) Sécurisation services (couche business) Balises JSP / facelets pour rendre invisible certains composants de la vue
  • Configuration par namespace (simple) Configuration avancée (configuration des Spring Bean -> grand choix de configuration) Architecture modulaire, interfaces et classes abstraites, grand nombre de comportement simple implémentés, on peut facilement étendre les fonctionnalités Openid: facebook, Microsoft, IBM, authentification décentralisée et unique Authentification sur base de données : Entièrement configurable, c’est Spring sec. Qui s’adapte à la DB et non l’inverse Authentification simple, nom utilisateur dans le fichier XML CAS 3: Interface pour authentification sur serveur. Une authentification sur tous les serveurs utilisant CAS (Central Authentication Service) Système d‘autorisation -> Gestion des droits limité le contenu par rapport à des droits
  • UserDomainAuthenticationFilter : Prise en compte du champ domaine supplémentaire AuthenticationProviderSwitcher : Switcher de ldap provider suivant le domaine de l’utilisateur LdapAuthenticationProvider : Un ldap provider par AD UserDetailsContextMapper : Chargement des rôles depuis la DB AuthenticationService : Bloquer et obtenir état de l’utilisateur. Y compris l’ajouter si non existant
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long
  • Liste générique de long

Transcript

  • 1. Nous développons des solutions IT pour satisfaire les besoins immédiats de nos clients, mais nous leur permettons surtout de grandir dans le sillage de leur vision. Nous nommons cette approche «  morphean bridge ». JSF – Facelets – RichFaces – Spring-security Webmardi : Java pour le Web
  • 2. Agenda
    • Architecture
    • JSF
    • Facelets
    • Richfaces
    • Spring-security
    • Exemple pratique
    • Demo
    • Conclusions
  • 3. Architecture
  • 4. JSF
    • User interface (UI) components
    • Renderers
    • Managed beans
    • Validators
    • Converters
    • Events and listeners
    • Navigation
    • Expression language
    • Messages
  • 5. Facelets
    • XHTML instead of JSP
    • Templating
    • Composition Components
    • EL Functions
    • JSTL Support
  • 6. Richfaces
    • Ajax capability
    • Skinability
    • Ajax-ready components
    • Advanced UI components
    • Component Development Kit (CDK)
    • Many javascript libraries (jquery, prototype, …)
  • 7. Spring-security : Introduction
    • Besoin de sécuriser une application
      • Gestion flexible de l’authentification
      • Gestion des droits
    • Framework pour sécuriser une application
      • Documenté, complet et robuste
      • Respecte les meilleures pratiques d’authentification
      • Sécurise toutes les couches de l’application
  • 8. Spring-security : Fonctionnalités
    • Configuration simple et avancée
    • Architecture modulaire
    • Possibilités d’authentification
      • Authentification ldap / AD
      • Support d’OpenID
      • Authentification sur base de données
      • Enterprise-wide single sign on using CAS 3
    • Système d’autorisation
  • 9. Spring-security : Exemple concret avec l’application de démo Login xhtml page UserDomainAuthenticationFilter AuthenticationManager AuthenticationProviderSwitcher LdapAuthenticationProvider ActiveDirectory Softcom Active Directory Softcom UsernamePasswordAuthenticationFilter AuthenticationService UserDetailsContextMapper LdapAuthoritiesPopulator Database LocalAuthenticationProvider Mock
  • 10. Exemple pratique – Template Facelet
  • 11. Exemple pratique – Page
  • 12. Exemple pratique – faces-config.xml
  • 13. Exemple pratique – web.xml
  • 14. Démo
  • 15. Conclusion : avantages
    • Modèle d’application avec composition de composants
    • Composants riches
    • Gestion de sécurité très flexible
    • Ajax
    • Simplicité de développement web en java
  • 16. Conclusion : Inconvénients
    • Lourdeur du code source
    • Gestion des exceptions
    • Complexité du cycle de vie de JSF
    • Mélange de plusieurs librairies javascript
    • CDK trop compliqué
  • 17. Conclusion : Futur
    • JSF 2 (2010)
      • Ajax
      • Facelets
      • Bean validation
    • Richfaces 4 (2011)
      • Optimisation de tous les composants
      • Optimisation des performances
      • Javascript basé sur jquery uniquement
      • Nouveau CDK simplifié
  • 18. Merci pour votre attention