none
Problemas com Autenticação Windows - Acesso Negado RRS feed

  • Pergunta

  • Boa tarde, Galera!

    Estou com dificuldade na implementação de um Windows Service. Tenho certeza de que a solução é simples, porém eu não estou conseguindo achar a solução na Internet...

    Ocorre o seguinte:

    Meu Windows Service precisa salvar um arquivo .txt em uma pasta localizada em um servidor diferente do qual onde ele roda. E só usuários autenticados com permissão de gravar, podem fazer alterações nesta pasta.

    Foi criado uma conta usuário com permissão de Leitura/Escrita somente para este fim. O código que estou usando para autenticar o usuário no servidor está retornando o erro de 'Access to the path '\\11.111.111.1\D$\Pasta\Arquivo.ZIP' is denied.'. Eu não sei se o erro está no código ou o que mais poderia gerar este erro.

    Este é código que uso para fazer a autenticação:

    NetworkCredential nwCredential = new NetworkCredential(Username, Password, Dominio);
    CredentialCache credCache = new CredentialCache();
    credCache.Add(Host, intPorta, "Basic", nwCredential);
    
    WebClient wClient = new WebClient();
    wClient.Credentials = credCache;
    Após isto, tento criar o arquivo com a seguinte linha:

    file = new FileStream(filename, FileMode.Open);

    Agradeço desde já!

    Daiana Sodré
    terça-feira, 28 de julho de 2009 17:54

Respostas

  • Realmente Ari, o problema era de permissionamento. Eu resolvi o problema indo nas propriedades do serviço e configurando o usuário e senha na aba Logon.

    Obrigada!
    Daiana Sodré
    • Marcado como Resposta Daia Sodré sexta-feira, 31 de julho de 2009 12:40
    sexta-feira, 31 de julho de 2009 12:40

Todas as Respostas

  • Daiana,

    Não entendi o seguinte, você criou o objeto wClient e definiu a propriedade Credentials, e não utilizou o wClient no restante do código. A classe WebClient é utilizada para enviar dados (upload) e receber dados (download) de um recurso dado o URI, e portanto não é o que você deseja.

    Percebo também que é bem provável que o usuário que o serviço está rodando não possui permissões na pasta remota. Minha sugestão seria dar permissões de acesso à pasta para o usuário do serviço.

    Link de ajuda:

    How to give a Window Service access on a remote machine?
    http://stackoverflow.com/questions/550613/how-to-give-a-window-service-access-on-a-remote-machine

    Att.

    Ari C. Raimundo
    quarta-feira, 29 de julho de 2009 01:10
    Moderador
  • Realmente Ari, o problema era de permissionamento. Eu resolvi o problema indo nas propriedades do serviço e configurando o usuário e senha na aba Logon.

    Obrigada!
    Daiana Sodré
    • Marcado como Resposta Daia Sodré sexta-feira, 31 de julho de 2009 12:40
    sexta-feira, 31 de julho de 2009 12:40