J'ai deux services Web (MyService et MyProtectedService). Je veux que les deux passent sous le même port HTTPS mais seulement celui qui est protégé doit avoir l'authentification du client (clientAuth = true).Accès sécurisé Tomcat
Toute la sécurité fonctionne correctement, mais le problème est que l'authentification du client est activée pour les deux services, pas seulement pour le protégé. Ce que je voudrais, c'est supprimer l'authentification du client pour l'un d'entre eux, ou appliquer l'authentification du client à l'autre seulement.
Est-ce que quelqu'un a un indice? Merci
Dans le web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>protected element</web-resource-name>
<description/>
<url-pattern>/MyProtectedService</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
MISE À JOUR: J'ai essayé de diviser le service en deux contraintes:
<security-constraint>
<web-resource-collection>
<web-resource-name>OpenService</web-resource-name>
<description/>
<url-pattern>/OpenService</url-pattern>
</web-resource-collection>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<description/>
<url-pattern>/MyProtectedService</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
<login-config>
<auth-metod>CLIENT-CERT</auth-metod>
</login-config>
</security-constraint>
Et ont ClientAuth = false dans server.xml.
Mais je peux accéder à ce sans authentification client: https://MACHINE/MyProtectedService/MyProtectedService?wsdl
Merci pour votre réponse. J'ai essayé cela et je pense qu'il y a autre chose en cause parce qu'on me demande toujours le cert. Si au lieu de https j'utilise http: 443 alors j'obtiens des caractères étranges. Des idées? –
@Codo, il semble que Tomcat demande toujours le client auth (server.xml est vérifié avant web.xml, cela a du sens), donc je ne pense pas que ce que vous avez mentionné puisse fonctionner ...: -? –
Une solution utile? –