IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Tester Ecriture avec jcifs


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Tester Ecriture avec jcifs
    Bonjour

    Je cherche à tester si j'ai le droit d'écrire sur un dossier réseau avec un le nom d'utilisateur et son mot de passe avec Jcifs

    J'ai testé les methodes canread et canwrite mais il teste seulement les attributs du dossier

    Par exemple avec un dossier marqué en lecture seule ou j'ai le droit d'ecrire avec tel utilisateurla methode canWrite me retourne false


    Quelqu'un aurait il une idée ?

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    A première de la javadoc vue je te conseillerais d'aller fouiller du coté de la méthode getSecurity de la classe SmbFile.
    (Bon toutefois je n'ai jamais utilisé l'API, mais ce que dit la javadoc sur le retour de la méthode getSecurity semble plus ou moins correspondre à ce que tu cherches. En l'occurrence cette méthode renvoie un tableau d'ACE, aka Access Control Entry)

  3. #3
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci de ta reponse
    j'ai fait un test simple de la methode getSecurity() avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    out = new SmbFile("smb://" + domaine + ";" + user + ":" + pass + "@" + chemin);
    ACE[] test = out.getSecurity();
    for (int i = 0; i < test.length; i++) 
    {
        System.out.println(test[i]);
    }
    Voila ce que je recupere

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Allow albertini-PC\test         0x001000A9 Direct    This folder, subfolders and files 
    Allow Système                   0x001F01FF Inherited This folder, subfolders and files 
    Allow Administrateurs           0x001F01FF Inherited This folder, subfolders and files 
    Allow albertini-PC\albertini    0x001F01FF Inherited This folder, subfolders and files
    avec seulement test en lecture sur le dossier

    A partir de la je me pose plusieurs questions

    Est ce que je peux me fier à ces codes OX...?
    Sont ils identiques partout (local, domaine, windows , linux avec samba)?
    Dois je appliquer des masques car sous windows par exemple je peux gerer une dizaine de permissions comme lecture, parcourir le dossier?
    Comment faire par rapport aux autorisations de partage et non les permissions NTFS?

    Comment exploiter le resultat?

    Bref je plonge

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu ne pourrais pas plutôt te baser sur le concept de direct/inherited?
    Ca a l'air un peu plus compréhensible.

    Sinon dans la javadoc de la classe ACE il recommandent de se fier à ceci: http://alt.pluralsight.com/wiki/defa...eBook.HomePage pour comprendre les tenants et aboutissants de la sécurité sous window (désolé je ne suis vraiment pas un expert du sujet, ayant de loin plus l'habitude de trainter sous linux ou des Unix au niveau Admin, windows je suis simple utilisateur de base)

  5. #5
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Le direct/inherited détermine si les droits du dossier sont herités du dossier parent ou ont étés effectués sur le dossier


  6. #6
    Membre éclairé Avatar de snay13
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Bon Basta cosi

    J'ai opté pour une solution plus radicale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SmbFile out = null;
                    try
                    {
                        out = new SmbFile("smb://" + domaine + ";" + user + ":" + pass + "@" + chemin + "/scanTekProd/");
                        out.mkdir();
                        if(out.exists())
                        {
                            out.delete();
                            FenetreMessageDialog dialog = new FenetreMessageDialog(this, "dialog", true,
                                    "Réussite du test du Profil Réseau", item.toString(), 2000);
                        }
                        else
                        {
                            FenetreMessageDialog dialog = new FenetreMessageDialog(this, "dialog", true,
                                    "Echec du test du Profil Réseau", item.toString(), 2000);
                        }
                    }
                    catch (Exception ex)
                    {
                        FenetreMessageDialog dialog = new FenetreMessageDialog(this, "dialog", true,
                                    "Echec du test du Profil Réseau", item.toString(), 2000);
                    }
    Si quelqu'un a une idée pour faire autrement

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par snay13 Voir le message
    Est ce que je peux me fier à ces codes OX...?
    Sont ils identiques partout (local, domaine, windows , linux avec samba)?
    ben y a quand même un grande chance qu'ils soient définis par le protocole même. En l'occurence tu fais un

    (ace.getFlags() & ACE.FILE_WRITE_DATA) !=0

    et tu saura si tu peux écrire :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur E/S 105 lors d'ecriture avec un fichier text
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2009, 11h29
  2. ecriture avec libpng
    Par trax44 dans le forum C
    Réponses: 1
    Dernier message: 12/03/2007, 21h03
  3. Ecriture avec FileStream
    Par Bob Groove dans le forum Windows Forms
    Réponses: 3
    Dernier message: 20/02/2007, 17h25
  4. [debutant] ecriture avec FileWriter
    Par newgeek91 dans le forum Langage
    Réponses: 1
    Dernier message: 09/11/2006, 23h19
  5. Merci de tester, pb avec IE6 à vérifier ;)
    Par PuppeT mAsTer dans le forum Mon site
    Réponses: 11
    Dernier message: 15/08/2006, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo