none
Acesso a Rede RRS feed

  • Pergunta

  • Boa Noite Pessoal,

    Estou com o seguinte problema.. Eu tenho um Servidor de Imagens (SRV_01) com uma pasta que está compartilhada para acesso por Todos os Usuários.

    No Servidor SRV_02 eu tenho uma aplicação WebService que possui um método que recebe o caminho da imagem na Rede e devolve a imagem com Array de Bytes. Bom, se eu pego o caminho de uma das imagens ex \\SRV_01\Imagens\Imagem01.jpg e coloco no Executar do Windows, a imagem é localizada e aberta normalmente... Agora pelo WebService, com este mesmo caminho, recebo uma exceção do tipo FileNotFoundException.

    Primeira coisa que estou imaginando é que trata-se de permissão, mas como eu disse o compartilhamento foi feito para todos os Usuários, porém eu criei um método para mostrar qual é o usuário autenticado no WebService e o valor é Branco, ou seja, esse pode ser o problema...

    Agora, como eu resolvo esse problema?

    Agradeço desde já qualquer ajuda..

    terça-feira, 4 de fevereiro de 2014 00:24

Respostas

  • Ola Marcello,

       Você pode forçar o seu webservice a trabalhar como determinado usuário apenas configurando o seu web.config...

        De uma olhada nesse material

        http://support.microsoft.com/kb/306158/pt-br

        http://msdn.microsoft.com/pt-br/library/xh507fc5(v=vs.100).aspx


    Microsoft Community Contributor

    • Marcado como Resposta marcellosouza quinta-feira, 6 de fevereiro de 2014 18:44
    quinta-feira, 6 de fevereiro de 2014 18:34
    Moderador
  • Obrigado Rui, esta também é uma boa dica.... Mas na verdade além disso, eu tive que fazer uma outra coisa, que foi criar uma conta com mesmo nome e senha nos dois Servidores... aí funcionou... porém ao invés de usar a sua dica eu criei um pool para a minha aplicação e forcei este usuário no mesmo. Aí funcionou... Acredito que das duas formas funcionariam... no caso de ter que criar o usuário acho que o motivo é por as máquinas não estarem em um domínio pois mesmo quando eu usava um usuário que tinha acesso, não funcionava.
    • Marcado como Resposta marcellosouza quinta-feira, 6 de fevereiro de 2014 18:44
    quinta-feira, 6 de fevereiro de 2014 18:44

Todas as Respostas

  • Marcelo,

    No IIS, veja qual application pool seu webservice pertence, lá, veja o usuário utilizado e dê permissão para leitura no diretório de rede que você quer que ele acesse. 

    terça-feira, 4 de fevereiro de 2014 07:21
  • Amigo, criei um novo appPool somente para o meu webService, aí nas configurações avançadas mudei a propriedade Identidade para Administrador por exemplo que seria um usuário que consegue acessar o diretório na Rede, mesmo assim não funcionou...

    Somente para complementar meu WebConfig está conforme abaixo:

    <authentication mode="Windows"/>
    <authorization>
      <allow users="*"/>
    </authorization>
     

    No IIS habilitei a autentição anônima e do Windows.

    Eu acho que o problema é porque não está reconhecendo nenhum usuário quando mando por exemplo exibir o valor de User.Identity.Name

    Não sei mais o que fazer... 

    Obrigado.

    terça-feira, 4 de fevereiro de 2014 12:27
  • Ola Marcello,

       Você pode forçar o seu webservice a trabalhar como determinado usuário apenas configurando o seu web.config...

        De uma olhada nesse material

        http://support.microsoft.com/kb/306158/pt-br

        http://msdn.microsoft.com/pt-br/library/xh507fc5(v=vs.100).aspx


    Microsoft Community Contributor

    • Marcado como Resposta marcellosouza quinta-feira, 6 de fevereiro de 2014 18:44
    quinta-feira, 6 de fevereiro de 2014 18:34
    Moderador
  • Obrigado Rui, esta também é uma boa dica.... Mas na verdade além disso, eu tive que fazer uma outra coisa, que foi criar uma conta com mesmo nome e senha nos dois Servidores... aí funcionou... porém ao invés de usar a sua dica eu criei um pool para a minha aplicação e forcei este usuário no mesmo. Aí funcionou... Acredito que das duas formas funcionariam... no caso de ter que criar o usuário acho que o motivo é por as máquinas não estarem em um domínio pois mesmo quando eu usava um usuário que tinha acesso, não funcionava.
    • Marcado como Resposta marcellosouza quinta-feira, 6 de fevereiro de 2014 18:44
    quinta-feira, 6 de fevereiro de 2014 18:44
  • Sem problemas, normalmente uso dessa forma porque eu uso um usario cadastrado em um Dominio.. é comum usar Active Directory aqui na empresa, então fica mais fácil...

    Microsoft Community Contributor

    quinta-feira, 6 de fevereiro de 2014 19:26
    Moderador