Si j'ajoute un élément <security-constraint>
pour certaines URL dans le fichier web.xml de mon application Web, mon conteneur de servlets (par exemple, Tomcat) protégera ces URL et redirigera les utilisateurs non authentifiés vers une page de connexion. Mais comment le conteneur de servlet identifie-t-il les requêtes provenant des utilisateurs authentifiés?Comment les conteneurs de servlet identifient-ils les demandes des utilisateurs authentifiés?
Est-ce qu'ils attendent:
- Un cookie dans la requête HTTP? Lequel?
- Un en-tête HTTP?
- authentification lors de la session (ID de session?)
ce que, en particulier, ne Tomcat rechercher dans une requête d'un utilisateur authentifié?
Voici une partie d'un fichier web.xml, conformément aux exemples trouvés dans les didacticiels courants. Qu'est-ce que le conteneur de servlet (et en particulier Tomcat) va chercher dans la requête pour l'identifier comme provenant d'un utilisateur authentifié?
<security-constraint>
<display-name>Restricted GET To Employees</display-name>
<web-resource-collection>
<web-resource-name>Restricted Access - Get Only</web-resource-name>
<url-pattern>/restricted/employee/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Employee</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>MyRealm</realm-name>
<form-login-config>
<form-login-page>/login/loginForm.jsp</form-login-page>
<form-error-page>/login/loginError.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>Employee</role-name>
</security-role>