User Tools

Site Tools


doc:appunti:linux:sa:webdav

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:webdav [2020/01/22 06:41] – [Autenticazione Digest su http] niccolodoc:appunti:linux:sa:webdav [2020/03/02 12:05] (current) – [Accesso da Windows 7 e successivi] niccolo
Line 307: Line 307:
  
 **ATTENZIONE** Con la configurazione mostrata sopra per ogni **REMOTE_USER** che accede, viene creato un database SQLite3 diverso. Se tuttavia si vuole accedere contemporaneamente agli stessi file con utenti diversi, bisogna che il database sia unico e scrivibile da tutti, altrimenti il meccanismo di lock non funziona. **ATTENZIONE** Con la configurazione mostrata sopra per ogni **REMOTE_USER** che accede, viene creato un database SQLite3 diverso. Se tuttavia si vuole accedere contemporaneamente agli stessi file con utenti diversi, bisogna che il database sia unico e scrivibile da tutti, altrimenti il meccanismo di lock non funziona.
 +
 +====== Accesso da Windows 7 e successivi ======
 +
 +Windows ha un client nativo per WebDAV, ma è risaputo che soffra di numerose limitazioni e difetti, inoltre il comportamento di tale client non è consistente nelle varie versioni di Windows. Esistono numerose ricette di compatibilità che prevedono l'inserimento di chiavi particolari nel **registry**, a seconda della **versione di Windows** in uso, ma in generale non funzionano.
 +
 +Una lettura interessante è **[[https://doc.owncloud.org/server/9.0/user_manual/files/access_webdav.html#accessing-files-using-microsoft-windows|Accessing Files Using Microsoft Windows]]** pubblicata su sito di //Owncloud// e **[[https://support.microsoft.com/en-gb/help/2673544/windows-7-cannot-automatically-reconnect-a-dav-share-when-basic-authen|Windows 7 cannot automatically reconnect a DAV share when Basic Authentication is used]]** pubblicata su //Microsoft Support//.
 +
 +L'accesso ad una risorsa WebDAV andrebbe fatta da **Computer** => **Connetti unità di rete**. Si specifica la lettera del disco (ad esempio **Z:**), si lascia in bianco il percorso **Cartella**, si attiva la spunta **Riconnetti all'avvio** e **Connetti con credenziali diverse**. Cliccando su **Connessione a un sito Web per l'archiviazione di documenti e immagini** viene chiesto il percorso di rete e appunto le credenziali.
 +
 +Il percorso di rete è qualcosa del genere: **%%https://dav.server.org:443/MYSHARE%%** (si usa https altrimenti l'autenticazione Basic farebbe transitare la password in chiaro),
 +
 +L'accesso fallisce, come si vede dai log di Apache l'errore è **401 Unauthorized**, in effetti l'autenticazione non è mai avvenuta:
 +
 +<code>
 +"OPTIONS /MYSHARE HTTP/1.1" 401 3519 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601"
 +"OPTIONS /MYSHARE HTTP/1.1" 401 3519 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601"
 +"OPTIONS / HTTP/1.1" 200 2970 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601"
 +"PROPFIND / HTTP/1.1" 405 650 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601"
 +</code>
 +
 +Le soluzioni che prevedono di modificare o aggiungere chiavi nel nodo **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\** del registry non hanno funzionato. Né l'aggiunta della chiave **UseBasicAuth** impostata a 1, né la modifica di **BasicAuthLevel** da 1 a 2 ha avuto esito.
 +
 +Da quanto scritto nella knowledge base Microsoft sembra che il problema sia l'**incompatibilità del Credential Manager** (a partire da Windows 7) con la **Basic Authentication**, in particolare con la memorizzazione delle password.
 +
 +La soluzione è **connettere l'unità di rete dal prompt dei comandi** ad ogni avvio di Windows, **digitando la password** tutte le volte.
 +
 +Un'altra difficoltà è dovuta al fatto che Windows 7 **non accetta certificati autofirmati** per HTTPS, è necessario installare sul server web un certificato HTTPS firmato da una C.A. riconosciuta.
 +
 +Ecco la riga di comando necessaria a connettere il disco di rete Z: (il comando non necessita dei permessi di amministratore, ma richiede l'inserimento della password):
 +
 +<code>
 +net use Z: https://dav.server.org:443/MYSHARE /persistent:no /user:myuser
 +</code>
 +
 +Per disconnettere il disco è sufficiente:
 +
 +<code>
 +net use Z: /delete
 +</code>
 +
 +Il messaggio di errore di Windows nel caso in cui il server abbia un certificato auto-firmato è del tutto incomprensibile:
 +
 +<code>
 +Errore di sistema 1790.
 +Accesso alla rete non riuscito.
 +</code>
 +
 +Al primo errore di autenticazione Windows entra in stato confusionale e non proverà più a connettersi. Un secondo tentativo infatti produce un messaggio di errore diverso, ancora più incomprensibile:
 +
 +<code>
 +Errore di sistema 59.
 +Errore di rete imprevisto.
 +</code>
 +
 +Per forzare Windows a tentare nuovamente la connessione è necessario riavviare il servizio WebClient, usando i permessi di Administrator:
 +
 +<code>
 +net stop WebClient
 +net start WebClient
 +</code>
doc/appunti/linux/sa/webdav.1579671683.txt.gz · Last modified: 2020/01/22 06:41 by niccolo