2017-09-19 14 views
0

J'ai une ressource partagée \ nom_ordinateur \ dir \ fichier.txt qui est partagée avec chacun d'eux. Je peux accéder à ce fichier en utilisant les résultats java.io.File mais jcifs.smb.SmbFile en exception:Possibilité d'accéder au fichier en utilisant java.io.File mais sans utiliser jcifs.smb.SmbFile

jcifs.smb.SmbAuthException: Logon failure: account currently disabled 

La raison est SMB utilise l'utilisateur invité à NTLMSSP_AUTH qui échoue dans l'authentification.

Je peux accéder au fichier lorsque je fournir des informations d'authentification comme:

NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("", "userName", "Password"); 
SmbFile smbfile = new SmbFile("//machineName/dir/file.txt", auth); 

Ma question est ce que je peux accéder au fichier partagé avec chacun ayant la permission de lecture à l'aide SmbFile sans fournir l'authentification?

SmbFile smbfile = new SmbFile("//machineName/dir/file.txt") 

Répondre

0

Pour connecter le serveur via SMB vous devez authentifier (utilisateur, anonyme ou invité) La phase de connexion ont 3 étapes: 1. négocions - Se connecter au serveur (nouvelle connexion) et choisissez le dialecte. 2. configuration de la session - se connecter avec les informations d'identification. 3. tree connect - connecte au partage.

  • La connexion de l'invité n'est pas recommandée - essayez de vous connecter avec Anonymous! Ajouter ces étapes ne sont pas directement liés à l'accès au fichier. Si vous avez l'accès de sécurité (ACL) sur le fichier qui permet à tous les utilisateurs de lire, vous devriez obtenir l'accès au fichier.