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

Windows Forms Discussion :

Sécurité : Comment vérifier les droits d'accès d'un utilisateur sur un fichier?


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Sécurité : Comment vérifier les droits d'accès d'un utilisateur sur un fichier?
    Bonjour,

    J'ai un petit souci dans ma phase de conception d'application, et j'ai un peu de mal à trouver les bonnes infos.

    Je vous explique : dans mon soft, je dois être capable (grosso-modo) de renseigner un nom d'utilisateur sur le domaine et un fichier sur le disque, et de renvoyer si oui ou non, celui-ci à acces en lecture au fichier en question.

    Alors mon premier choix s'est porté sur une utilisation de ACL combiné avec de l'accès Active Directory :
    -> je liste les droits sur le fichier grâce à l'ACL, je regarde si le compte a un accès direct, sinon je remonte dans Active Directory pour récupérer tous les groupes dont fait parti l'utilisateur et pour vérifier si eux ont peut-être un accès en lecture.
    Bon c'est un peu complexe je trouve, et pas super top, mais ça marche presque.

    Deuxième option :
    -> je fait de l'impersonation, et je tente d'acceder au fichier. Le truc c'est que pour ça, je dois avoir le mot de passe de l'utilisateur non ? Et ça ce n'est pas envisageable. De plus, y a t il moyen de faire un "test d'accès" au fichier par un moyen quelconque ?

    Suis -je en train de m'embarquer dans une solution pourrie ? Y a t-il un moyen plus simple d'y arriver ?

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    3ème option:

    Tu essayes d'ouvrir le fichier (avec un StreamReader) et tu catches les Exceptions. Si tu as un AccessDeniedException, c'est que ton user n'a sans doute pas le droit d'avoir accès au fichier

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    D'accord mais comment je lui demande d'ouvrir le fichier en utilisant tel ou tel compte ? Normalement c'est de l'impersonation, mais pour ça j'ai besoin du mot de passe du compte, non ?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Pas besoin d'impersonnalisation: tu prend le token de l'utilsiateur courant et tu fais ton StreamReader.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Non mais en fait, c'est plus compliqué que ça.
    Imagine que je dois faire un webservice,avec une methode à qui on envoie un nom d'utilisateur ainsi qu'un chemin de fichier en paramètres, et ce webservice doit pouvoir renvoyer si oui ou non le compte en question a acces au fichier.

    C'est le webservice qui est chargé de verifier l'accès en lecture du compte sur le fichier: le webservice, lui est executé directement sur le serveur, via le compte Admin. Tu vois mon problème ?

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Si tu avais précisé l'utilisation d'un Web Service au début de ton message aussi...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Abakai
    Je vous explique : dans mon soft, je dois être capable (grosso-modo) de renseigner un nom d'utilisateur sur le domaine et un fichier sur le disque, et de renvoyer si oui ou non, celui-ci à acces en lecture au fichier en question.
    Ici, je dis bien que je dois renseigner le nom de l'utilisateur. Que je sois en webservice où non, ça ne change rien à priori, si ? Ce que veut dire cette phrase, c'est que je ne suis pas loggué sur le compte que je cherche à tester.

    Y a-t-il une solution ?

Discussions similaires

  1. Comment définir les droits d'accès d'un utilisateur ?
    Par Klemsy78 dans le forum Langage
    Réponses: 17
    Dernier message: 12/07/2015, 22h12
  2. Comment retrouver les droits d'acces d'une BD
    Par puledad1 dans le forum Sécurité
    Réponses: 0
    Dernier message: 26/08/2011, 10h31
  3. Vérifier les droits d'accès sur FTP depuis une applet
    Par darksouljedi dans le forum Applets
    Réponses: 0
    Dernier message: 10/03/2011, 15h34
  4. vérifier les droits d'accés
    Par poula dans le forum Oracle
    Réponses: 1
    Dernier message: 17/12/2006, 16h55

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