Utiliser des descripteurs de déploiement Java EE pour définir les rôles de sécurité manquants

Cette règle marque les éléments auth-constraint et role-name trouvés dans le fichier WEB-INF/web.xml qui ne correspondent à aucun élément security-role. Le serveur Apache Tomcat ne requiert pas la définition de l'élément security-role, alors que la spécification Java EE indique qu'il doit être défini.

Voici un exemple d'éléments auth-constraint et role-name qui seraient marqués :
<web-app>
...
<security-constraint>
<display-name>ThisConstraint</display-name>
<web-resource-collection>
<web-resource-name>adminResources</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description>The admins</description>
<role-name>admin</role-name>
<role-name>superuser</role-name>
</auth-constraint>
</security-constraint>
</web-app>

Les lignes <role-name>admin</role-name> et <role-name>superuser</role-name> seraient marquées toutes les deux.

Le scanner de source contient un correctif rapide qui ajoute les éléments security-role manquants.

Dans cet exemple, le correctif rapide ajouterait les éléments suivants au fichier web.xml :
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>superuser</role-name>
</security-role>