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

C# Discussion :

Permission sur répertoire et fichier


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Points : 106
    Points
    106
    Par défaut Permission sur répertoire et fichier
    Bonjour,

    J'ai une application avec un membership provider pour authentifier les utilisateurs se loggant à l'application.

    J'aimerais savoir comment je peux vérifier si l'utilisateur courant à les droits d'accéder à un fichier ou un répertoire donné.

    Sur internet je trouve un tas de code pas vraiment concluant. Existe-t'il une méthode qui se charge de voir si un utilisateur à accès ou non à un fichier/répertoire ?



    Le seul code que j'ai trouvé et semble ok est celui-ci. Mais ce code ne gère pas les groupes ( ce qui est primordial) et me semble bien long et compliqué pour ce que je veux .


    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
    24
    25
     string pathtmp = @"c:\test";
                string NtAccountName = @"LBI\ancu";
     
     
                DirectoryInfo di = new DirectoryInfo(pathtmp);
                System.Security.AccessControl.DirectorySecurity acl = di.GetAccessControl(System.Security.AccessControl.AccessControlSections.All);
                System.Security.AccessControl.AuthorizationRuleCollection rules = acl.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
     
                //Go through the rules returned from the DirectorySecurity
                foreach (AuthorizationRule rule in rules)
                {
                    //If we find one that matches the identity we are looking for
                    if (rule.IdentityReference.Value.Equals(NtAccountName, StringComparison.CurrentCultureIgnoreCase))
                    {
                        //Cast to a FileSystemAccessRule to check for access rights
                        if ((((FileSystemAccessRule)rule).FileSystemRights & FileSystemRights.WriteData) > 0)
                        {
                            Console.WriteLine(string.Format("{0} has write access to {1}", NtAccountName, pathtmp));
                       }
                        else
                        {
                            Console.WriteLine(string.Format("{0} does not have write access to {1}", NtAccountName, pathtmp));
                        }
                    } 
                }

    AsPrO,
    Merci :-)

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 570
    Points
    3 570
    Par défaut
    Si c'est uniquement voir si l'utilisateur à les droits, essaye avec FileIOPermission : http://msdn.microsoft.com/fr-fr/libr...v=vs.100).aspx

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Points : 106
    Points
    106
    Par défaut
    J'ai investigué mais ca ne me semble pas possible de vérifier les droits par rapport à un user donné mais plutôt de vérifier les droits pour l'utilisateur courant.

    Ici en fait j'ai besoin de vérifier les droits de l'utilisateur loggé pour filtrer son accès au partage réseau de l'intranet via une application.

    Entre parenthèse, qui est l'user courant : l'application ou l'utilisateur loggé avec membership ?

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 570
    Points
    3 570
    Par défaut
    Citation Envoyé par AsPrO Voir le message

    Entre parenthèse, qui est l'user courant : l'application ou l'utilisateur loggé avec membership ?
    Ca dépend des technos et/ou de la configuration.
    Si c'est une appli locale, c'est le user.

    Si c'est WCF, ça dépend : http://msdn.microsoft.com/en-us/library/ms730088.aspx

    ASP.NET, même chose : http://stackoverflow.com/questions/1...sp-net-website

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Points : 106
    Points
    106
    Par défaut
    Merci, mon cas est l'asp.net... je vois donc que la possibilité d'utiliser le concept "d'impersonation" pour arriver à mes fins ...

    Ca m'étonne tout de même que le framework ne fournisse pas une simple méthode "hasAcessTo" ou quelque chose de similaire

Discussions similaires

  1. Droits sur répertoire et fichiers contenus dedans
    Par yoyostras dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 31/03/2015, 10h26
  2. Problème de droits sur répertoires et fichiers
    Par cdsoft dans le forum Windows 7
    Réponses: 14
    Dernier message: 19/07/2012, 16h53
  3. [Infomaniak] Quelles permissions sur fichiers/répertoires ?
    Par Sayrus dans le forum Hébergement
    Réponses: 0
    Dernier message: 22/10/2009, 15h32
  4. Authentification et permissions sur répertoires
    Par superjoe dans le forum Apache
    Réponses: 1
    Dernier message: 09/05/2007, 20h43
  5. [C#] Acces / Permissions sur un fichier ?
    Par pikifou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/04/2005, 11h15

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