Java pour le Web

1 379 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 379
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
31
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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
  • Java pour le Web

    1. 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. 2. Agenda <ul><li>Architecture </li></ul><ul><li>JSF </li></ul><ul><li>Facelets </li></ul><ul><li>Richfaces </li></ul><ul><li>Spring-security </li></ul><ul><li>Exemple pratique </li></ul><ul><li>Demo </li></ul><ul><li>Conclusions </li></ul>
    3. 3. Architecture
    4. 4. JSF <ul><li>User interface (UI) components </li></ul><ul><li>Renderers </li></ul><ul><li>Managed beans </li></ul><ul><li>Validators </li></ul><ul><li>Converters </li></ul><ul><li>Events and listeners </li></ul><ul><li>Navigation </li></ul><ul><li>Expression language </li></ul><ul><li>Messages </li></ul>
    5. 5. Facelets <ul><li>XHTML instead of JSP </li></ul><ul><li>Templating </li></ul><ul><li>Composition Components </li></ul><ul><li>EL Functions </li></ul><ul><li>JSTL Support </li></ul>
    6. 6. Richfaces <ul><li>Ajax capability </li></ul><ul><li>Skinability </li></ul><ul><li>Ajax-ready components </li></ul><ul><li>Advanced UI components </li></ul><ul><li>Component Development Kit (CDK) </li></ul><ul><li>Many javascript libraries (jquery, prototype, …) </li></ul>
    7. 7. Spring-security : Introduction <ul><li>Besoin de sécuriser une application </li></ul><ul><ul><li>Gestion flexible de l’authentification </li></ul></ul><ul><ul><li>Gestion des droits </li></ul></ul><ul><li>Framework pour sécuriser une application </li></ul><ul><ul><li>Documenté, complet et robuste </li></ul></ul><ul><ul><li>Respecte les meilleures pratiques d’authentification </li></ul></ul><ul><ul><li>Sécurise toutes les couches de l’application </li></ul></ul>
    8. 8. Spring-security : Fonctionnalités <ul><li>Configuration simple et avancée </li></ul><ul><li>Architecture modulaire </li></ul><ul><li>Possibilités d’authentification </li></ul><ul><ul><li>Authentification ldap / AD </li></ul></ul><ul><ul><li>Support d’OpenID </li></ul></ul><ul><ul><li>Authentification sur base de données </li></ul></ul><ul><ul><li>Enterprise-wide single sign on using CAS 3 </li></ul></ul><ul><li>Système d’autorisation </li></ul>
    9. 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. 10. Exemple pratique – Template Facelet
    11. 11. Exemple pratique – Page
    12. 12. Exemple pratique – faces-config.xml
    13. 13. Exemple pratique – web.xml
    14. 14. Démo
    15. 15. Conclusion : avantages <ul><li>Modèle d’application avec composition de composants </li></ul><ul><li>Composants riches </li></ul><ul><li>Gestion de sécurité très flexible </li></ul><ul><li>Ajax </li></ul><ul><li>Simplicité de développement web en java </li></ul>
    16. 16. Conclusion : Inconvénients <ul><li>Lourdeur du code source </li></ul><ul><li>Gestion des exceptions </li></ul><ul><li>Complexité du cycle de vie de JSF </li></ul><ul><li>Mélange de plusieurs librairies javascript </li></ul><ul><li>CDK trop compliqué </li></ul>
    17. 17. Conclusion : Futur <ul><li>JSF 2 (2010) </li></ul><ul><ul><li>Ajax </li></ul></ul><ul><ul><li>Facelets </li></ul></ul><ul><ul><li>Bean validation </li></ul></ul><ul><li>Richfaces 4 (2011) </li></ul><ul><ul><li>Optimisation de tous les composants </li></ul></ul><ul><ul><li>Optimisation des performances </li></ul></ul><ul><ul><li>Javascript basé sur jquery uniquement </li></ul></ul><ul><ul><li>Nouveau CDK simplifié </li></ul></ul>
    18. 18. Merci pour votre attention

    ×