Prise en charge de Java Servlet 3.0 pour la sécurité

Cette version de WebSphere Application Server prend en charge toutes les mises à jour de sécurité définies dans la spécification Java™ Servlet 3.0.

Cette version de WebSphere Application Server prend en charge toutes les mises à jour de sécurité, telles qu'elles sont définies dans la spécification Java Servlet 3.0 (JSR-315), y compris les nouvelles annotations de sécurité de servlet, l'utilisation des nouvelles API de sécurité par programmation et la mise à jour dynamique de la configuration de sécurité de servlet.

Le nouveau support d'annotation pour les servlets est une amélioration majeure. Un développeur peut déclarer les contraintes de sécurité en utilisant des annotations comme alternative à leur déclaration dans le cadre du fichier web.xml qui est utilisé avant Java Servlet 3.0. Le fichier web.xml continue de fonctionner et remplace les conflits définis comme annotations.

La liste des mises à jour de Java Servlet 3.0 prises en charge pour la sécurité comprend les suivantes :
  • Prise en charge de l'annotation @ServletSecurity
  • Prise en charge de la mise à jour dynamique des annotations de sécurité de servlet @RunAs, @declareRoles et @ServletSecurity
  • Prise en charge des méthodes authenticate, login et logout
  • La nouvelle propriété com.ibm.websphere.security.displayRealm indique si la fenêtre de connexion d'authentification de base HTTP affiche le nom de domaine qui n'est pas défini dans le fichier web.xml de l'application.

La section suivante porte sur les mises à jour Java Servlet 3.0 de la sécurité plus en détail :

Prise en charge de l'annotation @ServletSecurity :

Lors du déploiement d'une application, l'implémentation ServletSecurity MergeAction trouve tous les servlets avec l'annotation ServletSecurity. Pour chaque servlet annoté, cette implémentation trouve le servlet associé à la base de la classe donnée sur l'annotation WebServlet. Si le paramètre RolesAllowed dans l'annotation ServletSecurity est introuvable dans le descripteur de déploiement, un attribut role-name est créé pour le rôle dans le descripteur de déploiement.

Lors du démarrage d'une application, le conteneur Web inspecte tous les servlets comportant les annotations RunAs, declareRoles et ServletSecurity, puis définit ces annotations dans la méthode setServletSecurity() de l'annotation ServletRegistration. Le WebContainer signale au composant de sécurité qu'il doit contrôler toutes les annotations ServletRegistration comportant des modèles d'URL et des contraintes de sécurité. Le composant de sécurité détermine ensuite si un modèle d'URL est défini dans le descripteur de déploiement. Si ce n'est pas le cas, les contraintes de sécurité et le rôle RunAs du modèle d'URL sont créés, puis utilisés. Si une correspondance exacte est déjà définie dans le descripteur de déploiement, les contraintes de sécurité et le rôle RunAs du modèle d'URL du descripteur de déploiement sont utilisés à la place des données d'annotation.

Pour plus d'informations, consultez la rubrique Annotations de sécurité.

Prise en charge de la mise à jour dynamique des annotations de sécurité de servlet @RunAs, @declareRoles et @ServletSecurity :

Lors du démarrage d'une application, le conteneur Web inspecte tous les servlets comportant les annotations RunAs, declareRoles et ServletSecurity, puis définit ces annotations sur la méthode setServletSecurity() de l'annotation ServletRegistration. Le conteneur Web demande au composant de sécurité d'inspecter toutes les annotations ServletRegistration comportant des modèles d'URL et des contraintes de sécurité. Le composant de sécurité détermine ensuite si un modèle d'URL est défini dans le descripteur de déploiement. Si une correspondance exacte est déjà définie dans le descripteur de déploiement, les contraintes de sécurité et le rôle RunAs dans le modèle d'URL du descripteur de déploiement sont utilisés à la place des données dynamiques.

Pour plus d'informations, consultez la rubrique Annotations dynamiques de la sécurité de servlet.

Remarque : WebSphere Application Server prend en charge à la fois un fournisseur d'autorisation par défaut et un fournisseur d'autorisation fondé sur la spécification JACC (Java Authorization Contract for Containers). Le fournisseur d'autorisation JACC (par exemple, Tivoli Access Manager), autorise des fournisseurs de sécurité tiers à gérer le mécanisme d'autorisation Java EE. Les annotations RunAs, declareRoles et ServletSecurity sont prises en charge pour le mécanisme d'autorisation native et pour JACC.

Prise en charge des méthodes de sécurité authenticate, login et logout :

La méthode authenticate permet d'authentifier un utilisateur à l'aide du mécanisme de connexion du conteneur WebSphere Application Server configuré pour le contexte de servlet.

La méthode login authentifie un utilisateur auprès de WebSphere Application Server avec un ID utilisateur et un mot de passe. Si l'authentification aboutit, elle crée un sujet d'utilisateur sur l'unité d'exécution et des cookies LTPA (Lightweight Third Party Authentication) (si la connexion unique est activée).

La méthode logout déconnecte l'utilisateur de WebSphere Application Server et invalide la session HTTP.

Pour plus d'informations, consultez la rubrique Méthodes de sécurité de servlet.

La nouvelle propriété com.ibm.websphere.security.displayRealm indique si la fenêtre de connexion pour l'authentification de base HTTP affiche le nom de domaine qui est défini dans le fichier web.xml :

Si le nom de domaine n'est pas défini dans le fichier web.xml :
  • Si la propriété est associée à la valeur false (valeur par défaut), le nom de domaine WebSphere qui s'affiche est le domaine par défaut.
  • Si la propriété est associée à la valeur true, le nom de domaine WebSphere qui s'affiche est le nom de domaine du registre d'utilisateurs pour le mécanisme d'authentification LTPA ou le nom de domaine Kerberos pour le mécanisme d'authentification Kerberos.

Pour plus d'informations, consultez la rubrique Propriétés personnalisées de sécurité.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_servlet30_intro
Nom du fichier : csec_servlet30_intro.html