eln_francois
Messages postés36Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 7 juillet 2008
-
26 févr. 2007 à 10:14
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
2 août 2007 à 23:35
Bonjour,
je suis entrein de créé une application pour gèrer mon serveur exchange. j'arrive a tous faire (enfin presque).
je bloque sur la facon de donner des permission a un groupe sur une liste d'adresse.
je c me connecter a ma liste mais quelle sont les option pour ajouter une permission?
exemple: a ma liste Directeur je voudrais ajouter le groupe Directeur avec comme permission Lire
merci, pour vos futur reponse ;)
A voir également:
Impossible de traduire certaines ou toutes les références d'identité
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 6 mars 2007 à 15:30
salut,
quelque chose comme :
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)de.ObjectSecurity;
System.Security.Principal.NTAccount group = new System.Security.Principal.NTAccount("tonGroupe");
ActiveDirectoryAccessRule ar = new ActiveDirectoryAccessRule(
group,
ActiveDirectoryRights.DeleteTree | ActiveDirectoryRights.ListObject,
System.Security.AccessControl.AccessControlType.Allow);
ads.AddAccessRule(ar);
à noter aussi qu'il ne faut pas confondre "access rules" et "permission" en .Net :
-> les "access rules" sont les permissions Windows
-> les "permission" sont les droits d'exécution nécessaire ou interdit de ton assembly...autrement dit ca te permet d'empêcher/d'autoriser un utilisateur/groupe à exécuter un assembly/méthode en fonction de ses droits sur les ressources...
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 8 mars 2007 à 22:08
salut,
étant donné ta directoryentry "de" :
-> comme ça, pour ajouter :
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)de.ObjectSecurity;
System.Security.Principal.NTAccount group = new System.Security.Principal.NTAccount("Machin");
ActiveDirectoryAccessRule ar = new ActiveDirectoryAccessRule(
group,
ActiveDirectoryRights.DeleteTree | ActiveDirectoryRights.ListObject,
System.Security.AccessControl.AccessControlType.Allow);
ads.AddAccessRule(ar);
-> pour supprimer :
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)de.ObjectSecurity;
ads.RemoveAccess(new System.Security.Principal.NTAccount("groupe_truc"),System.Security.AccessControl.AccessControlType.Allow);
eln_francois
Messages postés36Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 7 juillet 2008 12 mars 2007 à 10:42
bonjour,
je vient de faire le test, mais j'ai les erreur suivante:
Impossible de traduire certaines ou toutes les références d'identité. sur la ligne: ads.AddAccessRule(ar);
et
Impossible de traduire certaines ou toutes les références d'identité. sur la ligne: ads.RemoveAccess(new System.Security.Principal.NTAccount("GroupeTest"), System.Security.AccessControl.AccessControlType.Allow);
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)Ldap.ObjectSecurity;
System.Security.Principal.NTAccount group = new System.Security.Principal.NTAccount("GroupeTest");
ActiveDirectoryAccessRule ar = new ActiveDirectoryAccessRule(group,ActiveDirectoryRights.DeleteTree | ActiveDirectoryRights.ListObject,System.Security.AccessControl.AccessControlType.Allow);
ads.AddAccessRule(ar);
eln_francois
Messages postés36Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 7 juillet 2008 13 mars 2007 à 10:33
je viens de tester avec le nom d'un membre et non le nom d'un groupe et la sela fonctionne, enfin presque... je n'ai pas de msg d'erreur mais il ne le fait qd meme pas sur le serveur.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 13 mars 2007 à 18:16
salut,
en ce qui concerne les SID/identité non trouvées, je pense que c'est parce que ton compte n'est pas dans le domaine dans lequel se trouve le serveur exchange...il faut que tu sois soit sur le domaine, soit sur le serveur si groupe de travail (je crois)...
en ce qui concerne les changements pas impliqués, j'ai oublié qu'il faut appeler de.CommitChanges();...
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 2 avril 2007 à 12:32
salut,
ce prb serait plus du registre de la configuration système que de la programmation :
-> on ne peut modifier/créer/supprimer un objet que si on en a le droit local par le biais d'une session d'un utilisateur local au serveur, ou de domaine
-> si tu n'as pas une session d'administrateur/utlisateur avec pouvoir/"utilisateur autorisé" local, de domaine ou d'entreprise ca ne peut pas marcher...
la solution est donc de donner les droit à ton autre utilisateur de sorte que tu puisses déjà faire l'opération avec la mmc et si ca marche, ca va marcher par code...demande à ton administrateur réseau...
"msg d'erreur sur une autre session: "La relation d'approbation entre cette station de travail et le domaine principal a échoué." pourtant la creation de user, groupe, liste etc. fonctionne." : donc l'objet est créé et tu reçois une exception ?
eln_francois
Messages postés36Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 7 juillet 2008 18 avril 2007 à 10:35
re bonjour
apres qql temps je reviens a la charge, sur l'ancien serveur (serveur test) tous fonctionne malheureusement sur le nouceau serveur sela ne fonctionne pas....
voila le msg d'erreur qu'il me donne:
"Cette liste de contrôle d'accès n'est pas de forme canonique et ne peut donc pas être modifiée."
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 18 avril 2007 à 20:39
salut,
d'abord, je suppose que Perm reçoit bien un DirectoryEntry...
je vois des trucs qui me semblent bizarres :
-> le NTAccount qui prend un DomainName : DomainName si c'est vraiment un nom de domaine AD, ca me parait bizarre d'autoriser un domaine...et d'ailleurs, je ne pense pas que ca soit possible...
-> ActiveDirectoryRights.ExtendedRight : ca mappe sur des vrai droits ?
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 18 avril 2007 à 22:51
salut,
"le probleme c que mon code fonctionne si je suis inscrit au
domaine(Active directory) par contre si le pc est pas inscrit sela ne
fonctionne pas" : c'est le principe d'un domaine...l'autre solution consiste à avoir un compte local qui a le même nom et password qu'un compte de domaine, de préciser l'IP du serveur quand tu crées ton DirectoryEntry...mais c'est mieux d'être dans le domaine...
dorine82
Messages postés28Date d'inscriptionmardi 10 juillet 2007StatutMembreDernière intervention17 septembre 2007 1 août 2007 à 14:26
salut,
je suis debutante dans la programmation avec Csharp. et je dois ecrire une programme avec active directory.
quand je compile mon programme il m' affiche une erreur de la sorte:
Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
je ne sais pas où ajouter cette permission là.
voila mon code:
using System;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.Diagnostics;
using System.Security.Permissions;
namespace Active
{
class Class1
{
[Serializable]
public sealed class DirectoryServicespermission : ResourcePermissionBase
{
public class SecurityExeption : SystemException
{
ActiveDirectorySecurity ads = (ActiveDirectorySecurity)Ldap.ObjectSecurity;
System.Security.Principal.NTAccount group = new System.Security.Principal.NTAccount("GroupeTest");
ActiveDirectoryAccessRule ar = new ActiveDirectoryAccessRule(group, ActiveDirectoryRights.DeleteTree | ActiveDirectoryRights.ListObject, System.Security.AccessControl.AccessControlType.Allow);
ads.AddAccessRule(ar);
DirectoryEntry ldap = new DirectoryEntry("ldap://hte.intra", "don", "mamanetpapa");
DirectorySearcher searcher = new DirectorySearcher(ldap);