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
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