Olá
Bem vindo à Comunidade Microsoft
Tudo bem, Marcelo? Em aplicações Windows Forms, o ideal é utilizar a autenticação integrada do Windows para verificar se o usuário já está autenticado e, se necessário, solicitar credenciais.
Uma abordagem recomendada é:
Verificar a identidade do usuário logado usando System.Security.Principal.WindowsIdentity.GetCurrent().
Caso necessário, solicitar autenticação usando System.DirectoryServices.AccountManagement para validar as credenciais informadas.
Somente após a autenticação bem-sucedida, listar os arquivos no servidor de domínio usando System.IO.Directory.GetFiles.
Exemplo simplificado de validação:
Imports System.DirectoryServices.AccountManagement
Dim username As String = "usuario"
Dim password As String = "senha"
Using context As New PrincipalContext(ContextType.Domain, "SEUDOMINIO")
Dim isValid = context.ValidateCredentials(username, password)
If isValid Then
' Usuário autenticado – listar arquivos
Else
MessageBox.Show("Credenciais inválidas.")
End If
End Using
Documentação recomendada: PrincipalContext.ValidateCredentials (Microsoft Docs) Autenticação no Active Directory com .NET
Essa abordagem garante segurança e evita exibir informações sensíveis a usuários não autenticados.
Caso precise de suporte avançado para implementar a UI de solicitação de credenciais ou lidar com Single Sign-On, consulte também o time de TI responsável pelo AD para alinhar as políticas de autenticação vigentes.