none
Acessar diretório em servidor um servidor diferente da aplicação RRS feed

  • 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.

    quarta-feira, 25 de março de 2009 22:34

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
    quinta-feira, 26 de março de 2009 01:37

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
    quinta-feira, 26 de março de 2009 01:37
  • 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.
    quinta-feira, 5 de maio de 2011 18:32