Usuário com melhor resposta
Acessar diretório em servidor um servidor diferente da aplicação

Pergunta
-
Ola Amigos!
Estou com o seguinte problema... Tenho um sistema web feito com asp.net usando o c# que está sendo executado em um determinado servidor da rede... Acontece que preciso pelo sistema acessar diretórios e arquivos que estão em outro servidor da rede.
Quando eu executo a aplicação pelo visual studio, tudo funciona corretamente visto que estou logado com meu usuário na rede e meu usuário possui permissão para acessar o diretório destino, porém quando eu publico o sistema no iis do servidor da aplicação eu não consigo mais acessar o diretório.... Aparece uma mensagem informando que houve uma falha de autenticaçao e o usuário ou senha estão incorretos...
Acredito que eu preciso ir no servidor de destino e dar permissao para aquela pasta, acontece que não sei pra quem dar a permissão...
Os dois servidores rodam windows server 2003.
Agradeço se puderem me ajudar.
Respostas
-
Luiz,
Já ouvi dizer que se der acesso ao usuário "network service" na pasta remota você consegue acessar o arquivo.
Para resolver essa situação eu usei o impersonate no web config travando um usuário que tem acesso a pasta remota. Fica algo do tipo:<configuration> <system.web> <identity impersonate="true" userName="DOMINIO\USUARIO" password="SENHA"/> </system.web> </configuration>
onde em userName você coloca o domínio e nome do usuário com acesso a pasta e em password a senha do mesmo.
Não sei se essa é a maneira mais correta, mas certamente funciona.
Quem sabe alguém do fórum possa apresentar uma versão mais elegante para eu mesmo usar..
Abraço
- Marcado como Resposta Luiz C Alves terça-feira, 17 de maio de 2011 13:49
Todas as Respostas
-
Luiz,
Já ouvi dizer que se der acesso ao usuário "network service" na pasta remota você consegue acessar o arquivo.
Para resolver essa situação eu usei o impersonate no web config travando um usuário que tem acesso a pasta remota. Fica algo do tipo:<configuration> <system.web> <identity impersonate="true" userName="DOMINIO\USUARIO" password="SENHA"/> </system.web> </configuration>
onde em userName você coloca o domínio e nome do usuário com acesso a pasta e em password a senha do mesmo.
Não sei se essa é a maneira mais correta, mas certamente funciona.
Quem sabe alguém do fórum possa apresentar uma versão mais elegante para eu mesmo usar..
Abraço
- Marcado como Resposta Luiz C Alves terça-feira, 17 de maio de 2011 13:49
-
No IIS, crie um diretório virtual, quando criar, você vai passar um nome. No seu código esse nome vai ser como uma pasta no seu root. Ex: Voce criou seu Diretório Virtual no IIS chamado de PastaTeste. No código, voce vai poder se referir a ele como @"~/PastaTeste/"; Para teste você cria uma pasta no projeto, e no Deploy, voce defini o Diretório Virtual.