Você deu uma olhada no HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WebClient \ Parameters Entrada AuthForwardServerList ( KB 943280 )?
Isso funciona para mim.
Usando o mod_dav do Apache como servidor, o Samba 4.1.17 como servidor e qualquer versão do Windows a partir de 7 como cliente, como posso montar um compartilhamento WebDAV usando o Kerberos para a autenticação?
Atualmente, tenho o WebDAV e o Kerberos confirmados trabalhando com agentes de usuários do IE e do Firefox. Aqui está um exemplo de funcionamento do IE:
[23/Aug/2015:15:22:56 +0100] "GET / HTTP/1.1" 200 1062 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/8.0; .NET4.0C; .NET4.0E)"
[23/Aug/2015:15:22:59 +0100] "GET /favicon.ico HTTP/1.1" 404 778 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/8.0; .NET4.0C; .NET4.0E)"
Quando tento mapear ou navegar para ele, isso sempre falha, com os erros 401 sendo as únicas coisas registradas pelo Apache:
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 814 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
Relatórios do Windows "A operação solicitada não foi executada porque o usuário não foi autenticado" nesta instância, já que esse exemplo não era HTTPS e eu (deliberadamente) não habilitei autenticação básica sem HTTPS no registro.
O HTTP bruto para essas solicitações é semelhante a:
OPTIONS / HTTP/1.1
Connection: Keep-Alive
User-Agent: Microsoft-WebDAV-MiniRedir/10.0.10240
translate: f
Host: dav.exmaple.com
O servidor responde com:
HTTP/1.1 401 Authorization Required
Date: Sun, 23 Aug 2015 18:31:13 GMT
Server: Apache/2.2.22 (Debian)
WWW-Authenticate: Negotiate
WWW-Authenticate: Basic realm="Kerberos Login"
Vary: Accept-Encoding
Content-Length: 484
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Parece que o cliente está ignorando totalmente as tentativas do servidor de negociar comigo.
Li muita informação sobre como confused e clientes WebDAV quebrados no Windows, então, quando meus esforços anteriores (em / upload / private) não funcionaram, configurei um subdomínio separado onde o WebDAV está habilitado para todo o namespace e SSL não obrigatório, que é o que está sendo usado nesses exemplos.
O certificado usado é de confiança dos clientes e ambos os casos HTTP e HTTPS falham (quase) de forma idêntica. A única diferença é que o choser de credenciais é exibido se o HTTPS estiver sendo usado, mas eu não quero digitar manualmente as credenciais e ir até a rota de Autenticação básica.
Eu também tentei montar com:
net use \dav.example.com *
net use \dav.example.com\ *
net use http://dav.example.com/ *
net use http://dav.example.com *
net use \dav.example.com@SSL *
net use \dav.example.com@SSL\ *
net use https://dav.example.com/ *
net use https://dav.example.com *
Tudo com o mesmo fracasso.
O que dá? Como posso persuadir o mini redirecionador do WebDAV a usar o Kerberos para autenticação? É mesmo possível? O objetivo final aqui é o verdadeiro SSO para os usuários.
Você deu uma olhada no HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WebClient \ Parameters Entrada AuthForwardServerList ( KB 943280 )?
Isso funciona para mim.