Descrição do cenário:
No meu local de trabalho, temos um DomainController
e usamos TerminalServices
.
Existem diferentes tipos de servidores em execução no DC (por exemplo, webapi
, app
). Os desenvolvedores que desenvolvem a API desejam acessar uma pasta (por exemplo, app\images
) por meio de um URL direcionando para webapi
. Então eu pensei que poderia conseguir isso com links simbólicos.
Eu criei um link simbólico em \DC\webserver\symed_images
apontando para o destino \DC\appserver\images
o caminho completo de webapi
em DC
é D:\webserver
o caminho completo do app
no DC
é D:\ProgramFiles\app
Além disso, ambos D:\ProgramFiles\app
& D:\webserver
são pastas compartilhadas na rede.
Eu criei os symlinks conectados como administrador no DC
. Pensando que seria mais fácil, usei a ferramenta Link Shell Extension .
O problema
Depois de criar os links simbólicos, eles funcionam bem se um estiver logado com direitos de administrador para o DC
. No entanto, se alguém tentar acessar o link simbólico dos serviços de terminal navegando para o compartilhamento de rede DC\webserver\symed_images
, o usuário receberá um erro. Além disso, ocorre um erro se o navegador da Web for usado.
A questão
Como você disponibiliza uma URL de uma pasta que está vinculada a outra pasta via symlink e garante que todos os usuários tenham acesso a essa pasta?
Algumas coisas a serem consideradas
Aqui vou escrever algumas coisas que podem ser importantes para considerar se você fornecer uma resposta: permissões de compartilhamento, permissões de segurança da pasta compartilhada, criação de links simbólicos, namespaces DFS.
Atualização da solução 1:
OK, depois de ler os links sugeridos e fazer um pouco de pesquisa on-line, funcionou para mim depois de criar um cruzamento.
Eu usei o seguinte comando: mklink /J "D:\webserver\symed_images" "D:\ProgramFiles\app\images"
Observe que o diretório que funcionará como junção ( symed_images
) neste caso, não deve existir previamente. Será criado automaticamente assim que o comando for executado.
Perguntas após o Edit
Agora, a junção funciona bem para aqueles que tentam acessá-la pelo Windows Explorer, mas quando um navegador da Web é usado, o servidor da Web retorna: Server Error
403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.
Qual poderia ser o problema neste caso? Como tornar este link acessível via webbrowser?
Quais propriedades de segurança e compartilhamento se aplicam à junção "D:\webserver\symed_images
? As propriedades da pasta na qual está localizada D:\webserver
? ou as propriedades da pasta para a qual ele é destinado a D:\ProgramFiles\app\images
?