none
Ler arquivos de diretórios e subdiretórios de uma maquina na rede utilizando Usuario e Senha especifico. RRS feed

  • Pergunta

  • Boa Noite Pessoal

    Sou analista de sistemas em uma software house. Construo documentos de analise e adiciono os mesmos em um servidor. Temos um problema atualmente pois o suporte técnico não possui acesso à pasta que estão tais documentos. Não podemos liberar acesso de leitura a todos por questão de segurança. Por esse motivo, criamos um usuário que possui a permissão de leitura.

    Estou criando uma aplicação em C# que será responsável por acessar pastas e subpastas que contem os arquivos .pdf dos documentos de analise, lista-los em uma grade e assim permitir a leitura dos mesmos com um clique.

    Desenvolvi tal aplicação utilizando a classe Directory e funcionou corretamente. Porem preciso realizar uma alteração para que juntamente com o diretório, seja passado também o usuário e senha que possui permissão.

    Tentei assim: Directory.GetDirectories(@"\\ipdamaquina\documentos /USER:dominio\user\senha"); porem me retorna o seguinte erro: 

    System.NotSupportedException ocorrido
      HResult=0x80131515
      Message=Não há suporte para o formato do caminho dado.
      Source=<Não é possível avaliar a origem da exceção>
      StackTrace:
       em System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
       em System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
       em System.IO.Directory.GetDirectories(String path)
       em WindowsFormsApp1.Documentos.preencherModulos(String diretorioPai) em D:\Programacao\PROJETOS_PROPRIOS\WindowsFormsApp1\WindowsFormsApp1\Form1.cs:linha 91
       em WindowsFormsApp1.Documentos..ctor() em D:\Programacao\PROJETOS_PROPRIOS\WindowsFormsApp1\WindowsFormsApp1\Form1.cs:linha 28
       em WindowsFormsApp1.Program.Main() em D:\Programacao\PROJETOS_PROPRIOS\WindowsFormsApp1\WindowsFormsApp1\Program.cs:linha 20

    Apenas minha aplicação poderá ter acesso, fora da aplicação tal acesso deve estar bloqueado.

    Poderiam me ajudar? 

    Se possível gostaria de uma forma de realizar tal funcionalidade sem a utilização de APIs.

    Obrigada!

    domingo, 16 de setembro de 2018 21:48

Respostas