Java - fichier d'Accès avec authentification de l'utilisateur
J'ai un serveur sur lequel je travaille avec une base de données et des fichiers à l'aide d'une application java.
Lorsque je démarre mon application, j'ai donner un rapport sur l'accès au fichier sur le serveur à l'aide de:
public static boolean folderExists(String folderPath) {
File folderToCheck = new File(folderPath);
return folderToCheck.exists();
}
Chaque fois que je lance mon application (après une nouvelle redémarrage de mon ordinateur)
Je reçois une fausse réponse, même si le serveur est sur.
La raison en est parce que je dois donner une authentification en tant qu'un autre utilisateur.
Ce que je fais est de l'accès au serveur à l'aide de Windows
où je me demande nom d'utilisateur/mot de passe,
et après que je reçois une vraie réponse concernant l'accès au fichier sur le serveur.
Est-il un moyen de donner l'authentification par nom d'utilisateur/mot de passe via Java,
et pas par les Fenêtres?
Merci
OriginalL'auteur Stefanos Kargas | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Sur Windows natif Java IO (par exemple, java.io.Fichier) toujours hérite le contexte de sécurité de l'utilisateur qui exécute le processus de JVM. Par exemple, vous pouvez exécuter l'application Java en tant que service Windows avec les informations d'identification correctes.
La JCIFS projet met en œuvre CIFS (Windows serveur de fichiers SMB protocole) et vous permet de spécifier directement le nom d'utilisateur/mot de passe.
Voir le API pour des exemples.
OriginalL'auteur Uriah Carpenter
Je suis assez sûr, il n'est pas possible d'accorder fileaccess en java, sans Windows-Appel.
Vous pouvez appeler
cacls file.log /e /t /p Everyone:f
mais ce sera dépendant de la langue.J'ai eu un problème similaire: Comment faire pour modifier le fichier ACL de windows, si je ne connais que le SID?
Avec Java7 il y a peut être une façon de le faire.
J'ai modifier les autorisations d'un fichier bycalling cacls
cacls file.log /e /t /p Everyone:f
: support.microsoft.com/kb/318754/en Mais sachez que l'utilisateur avec le nom d'utilisateur "tout le monde", peut avoir un nom différent sur une version localisée de windows. Pour un allemand, traduit de windows, l'appelcacls file.log /e /t /p Jeder:f
OriginalL'auteur Christian Kuetbach