Modification des droits sur un dossier VB.NET

Résolu
LeakimD Messages postés 8 Date d'inscription vendredi 8 novembre 2002 Statut Membre Dernière intervention 23 janvier 2009 - 20 févr. 2007 à 23:06
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 - 27 mai 2008 à 10:41
Salut
Je cherche a créer des dossiers sur le disque a partir d'un application
jusque la pas de problème
mais je veux gerer les droits sur ceux dossiers pour plusieur utilisateur
control totale pour moi ( administrateur)
lecture/ecriture pour un utilisateur
access refusé pour tous les autres

ET la je suis paumer
quelqu'un aurais une trace de solution
Merci d'avance

LeakimD : Je cherche donc je trouve

6 réponses

cs_GeorgesDeLajungle Messages postés 29 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 22 juin 2007 1
21 févr. 2007 à 11:00
Bonjour,
Si tu utilises la classe directorysecurity sur ton ou tes dossiers tu peux controler les utilisateurs qui ont accès aux dossiers, dans la documentation de .net 2.0 tu trouveras un exemple complet avec des fonctions d'affectations de droits pour un utilisateur sur un domaine de travail.

Si tu n'as pas le SDK, voici les fonctions principales à utiliser :

Tout d'abord tu récupères les informations de ton dossier :
Dim tDoss as new directoryinfo(repertoire)

Ensuite tu récupères les règles définies pour ce dossier :
Dim tSecurite As DirectorySecurity = tDoss.GetAccessControl()

Tu ajoutes à ta liste existante de règles une nouvelle règle :
tSecurite.AddAccessRule(New FileSystemAccessRule(Compte, Droits, TypeControle))

où Compte est le nom du compte utilisateur,
Droits est le type de droits que tu veux donner à l'utilisateur (cherche à filesystemrights)
et TypeControle est le fait d'autoriser l'accès (cf AccessControlType)

ensuite tu mets à jour les règles de ton dossier :
tDoss.SetAccessControl(tSecurite)

De même, si tu veux retirer une règle d'un dossier tu utilises après avoir récupéré les règles dans tSecurite :
tSecurite.RemoveAccessRule(New FileSystemAccessRules(Compte,Droits, TypeControle))

Voilà bonne journée et bonne prog.

Eric
3
cs_GeorgesDeLajungle Messages postés 29 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 22 juin 2007 1
22 févr. 2007 à 18:30
Tu ne peux pas supprimer toutes les règles existantes puisque si tu supprimes toutes les règles existantes tu supprimes en même temps l'accès que tu es en train d'utiliser pour les supprimer. En revanche, tu peux autoriser ou non un utilisateur à écrire ou à lire dans un dossier.
Pour autoriser un utilisateur à accéder ou à écrire dans un dossier, tu utilises accesscontroltype.allow pour autoriser et accesscontroltype.deny pour refuser.

Eric
3
LeakimD Messages postés 8 Date d'inscription vendredi 8 novembre 2002 Statut Membre Dernière intervention 23 janvier 2009
22 févr. 2007 à 15:20
Je te remercie ç'est exatement ceux qui me fallait.

Juste une derniere question  : quelle methode utiliser pour supprimer toute les regles de sécurité ?

Encore merci

LeakimD : Je cherche donc je trouve
0
LeakimD Messages postés 8 Date d'inscription vendredi 8 novembre 2002 Statut Membre Dernière intervention 23 janvier 2009
23 févr. 2007 à 13:44
Ok tampis, c'est ce que je pensais.
Je te remercie encore tu m'a bien aidé.

LeakimD : Je cherche donc je trouve
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tenrod Messages postés 46 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 11 décembre 2008
11 avril 2008 à 10:40
Bonjour,
Juste une question en rapport avec ce sujet (tant qu'a faire ...)
Je sais que le sujet date mais je garde bon espoir quand a une réponse ...
Voila je voudrais en fait donner les droits de suppression sur un dossier a tout les utilisateurs mais je ne vois pas comment faire.
Je tiens a préciser que je ne connais pas à l'avance la liste des utilisateurs ...
Merci d'avance
Vinzouille
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
27 mai 2008 à 10:41
Salut tenrod,

As-tu essayé : New FileSystemAccessRules("everyone",...) ?
0
Rejoignez-nous