A résoudre ....

nuxeo-platform-webdav-server - 5.1.4

code http = 404 correspond à un objet inexistant ou non autorisé (devrait être 403)

Dans le plugin nuxeo-platform-webdav-server, la méthode permettant de résoudre les urls est CoreHelper.resolveVirtualPath.
Cette méthode vérifie que chaque dossier/fichier constituant un chemin existe via la méthode du Nuxeo Core AbstractSession.exists.
La méthode AbstractSession.exists renvoie false si l'objet n'existe pas OU si l'utilisateur n'a pas les droits de BROWSE sur l'objet.
=> l'utilisateur obtient un 404 pour les objets qu'il n'a pas le droit de consulter.

via webdav, les dossiers mis à la poubelle sont visibles

Est-ce un problème ?

authentification

WEBDAV inaccessible en écriture : le module nuxeo-platform-login-anonymous prenant la main sur l'authentification

On a patché le plugin nuxeo-platform-login-anonymous (5.1.4) pour qu'il accepte en paramètres des SkipUrlRetrieveIdentity_* (urls qui ne seront ps traités par la procédure d'identification de nuxeo-platform-login-anonymous). On peut alors avoir quelque chose comme :

  <extension
    target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService"
    point="authenticators">
    <authenticationPlugin name="ANONYMOUS_AUTH" enabled="true"
      class="org.nuxeo.ecm.platform.ui.web.auth.anonymous.AnonymousAuthenticator">
      <parameters>
        <parameter name="SkipUrlRetrieveIdentity_Dav">dav</parameter>
      </parameters>
    </authenticationPlugin>
  </extension>