Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

NetCodeGroup, classe

Accorde une autorisation Web au site à partir duquel l'assembly a été téléchargé. Cette classe ne peut pas être héritée.

System.Object
  System.Security.Policy.CodeGroup
    System.Security.Policy.NetCodeGroup

Espace de noms :  System.Security.Policy
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class NetCodeGroup : CodeGroup

Le type NetCodeGroup expose les membres suivants.

  NomDescription
Méthode publiqueNetCodeGroupInitialise une nouvelle instance de la classe NetCodeGroup.
Début
  NomDescription
Propriété publiqueAttributeStringObtient une chaîne représentant les attributs de l'instruction de stratégie pour le groupe de codes. (Substitue CodeGroup.AttributeString.)
Propriété publiqueChildrenObtient ou définit une liste triée des groupes de codes enfants d'un groupe de codes. (Hérité de CodeGroup.)
Propriété publiqueDescriptionObtient ou définit la description du groupe de codes. (Hérité de CodeGroup.)
Propriété publiqueMembershipConditionObtient ou définit la condition d'appartenance du groupe de codes. (Hérité de CodeGroup.)
Propriété publiqueMergeLogicObtient la logique à utiliser pour la fusion des groupes. (Substitue CodeGroup.MergeLogic.)
Propriété publiqueNameObtient ou définit le nom du groupe de codes. (Hérité de CodeGroup.)
Propriété publiquePermissionSetNameObtient le nom de NamedPermissionSet pour le groupe de codes. (Substitue CodeGroup.PermissionSetName.)
Propriété publiquePolicyStatementObtient ou définit l'instruction de stratégie associée au groupe de codes. (Hérité de CodeGroup.)
Début
  NomDescription
Méthode publiqueAddChildAjoute un groupe de codes enfant au groupe de codes actuel. (Hérité de CodeGroup.)
Méthode publiqueAddConnectAccessAjoute l'accès de connexion spécifié au groupe de codes actuel.
Méthode publiqueCopyEffectue une copie complète du groupe de codes actuel. (Substitue CodeGroup.Copy().)
Méthode publiqueEquals(Object)Détermine si le groupe de codes spécifié est équivalent au groupe de codes actuel. (Substitue CodeGroup.Equals(Object).)
Méthode publiqueEquals(CodeGroup, Boolean)Détermine si le groupe de codes spécifié est équivalent au groupe de codes actuel, en vérifiant également les groupes de codes enfants, si cela est spécifié. (Hérité de CodeGroup.)
Méthode publiqueFromXml(SecurityElement)Reconstruit un objet de sécurité avec un état donné à partir d'un codage XML. (Hérité de CodeGroup.)
Méthode publiqueFromXml(SecurityElement, PolicyLevel)Reconstruit un objet de sécurité avec un état et un niveau de stratégie donnés à partir d'un codage XML. (Hérité de CodeGroup.)
Méthode publiqueGetConnectAccessRulesObtient les informations d'accès de connexion pour le groupe de codes actuel.
Méthode publiqueGetHashCodeObtient le code de hachage du groupe de codes actuel. (Substitue CodeGroup.GetHashCode().)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueRemoveChildSupprime le groupe de codes enfants spécifié. (Hérité de CodeGroup.)
Méthode publiqueResetConnectAccessSupprime toutes les informations d'accès de connexion pour le groupe de codes actuel.
Méthode publiqueResolveRésout la stratégie pour le groupe de codes et ses descendants pour un ensemble de preuves. (Substitue CodeGroup.Resolve(Evidence).)
Méthode publiqueResolveMatchingCodeGroupsRésout des groupes de codes correspondants. (Substitue CodeGroup.ResolveMatchingCodeGroups(Evidence).)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publiqueToXml()Crée un codage XML de l'objet de sécurité et de son état actuel. (Hérité de CodeGroup.)
Méthode publiqueToXml(PolicyLevel)Crée un codage XML de l'objet de sécurité, de son état actuel et du niveau de stratégie dans lequel le code existe. (Hérité de CodeGroup.)
Début
  NomDescription
Champ publicMembre statiqueAbsentOriginSchemeContient une valeur utilisée pour spécifier l'accès de connexion pour du code avec un modèle d'origine inconnu ou non reconnu.
Champ publicMembre statiqueAnyOtherOriginSchemeContient une valeur utilisée pour spécifier tout autre modèle d'origine non spécifié.
Début

Les groupes de codes sont les blocs de construction d'une stratégie de sécurité d'accès du code. Chaque niveau de stratégie est constitué d'un groupe de codes racine qui peut avoir un ou plusieurs groupes de codes enfants. Chaque groupe de codes enfant peut avoir ses propres groupes de code enfants ; ce comportement peut s'étendre jusqu'à n'importe quel nombre de niveaux, formant une arborescence. Chaque groupe de codes possède une condition d'appartenance qui détermine si un assembly donné appartient au groupe en fonction de la preuve de cet assembly. Seuls les groupes de codes dont les conditions d'appartenance correspondent à un assembly donné et à leurs groupes de codes enfants appliquent une stratégie de sécurité d'accès du code.

NetCodeGroup a la même sémantique de fusion que celle de UnionCodeGroup ; il forme l'union des objets PolicyStatement de tous les groupes de codes enfants correspondants et le PolicyStatement qu'il génère à partir de la preuve de Url d'entrée. Toutefois, NetCodeGroup retourne une autorisation contenant un WebPermission calculé dynamiquement qui accorde un accès de connexion au site à partir duquel le code est exécuté ; UnionCodeGroup retourne simplement un jeu d'autorisations statique.

Lorsqu'un NetCodeGroup est créé, il contient les règles d'accès de connexion par défaut affichées dans le tableau suivant.

Modèle URI

Règle

fichier

Aucun accès de connexion au serveur d'origine n'est autorisé.

http

L'accès HTTP et HTTPS est autorisé à l'aide du port d'origine.

https

L'accès HTTPS est autorisé à l'aide du port d'origine.

Vous pouvez contrôler le modèle et le port que le code est autorisé à utiliser lors de la connexion à son site d'origine en passant un objet CodeConnectAccess avec les valeurs des propriétés Scheme et Port appropriées à la méthode AddConnectAccess. Vous pouvez créer une règle d'accès de connexion qui s'applique lorsque le modèle d'origine n'est pas présent dans la preuve ou n'est pas reconnu en spécifiant AbsentOriginScheme ("") comme modèle. Vous pouvez également créer une règle d'accès de connexion qui s'applique lorsqu'il n'existe aucune règle d'accès de connexion avec un modèle correspondant en spécifiant AnyOtherOriginScheme ("*") comme modèle.

RemarqueRemarque

Si le code n'envoie pas le modèle URI comme preuve, l'accès au site d'origine est autorisé à l'aide de n'importe quel modèle.

L'exemple de code suivant illustre la création de NetCodeGroup et l'ajout d'objets CodeConnectAccess pour le code téléchargé à l'aide du modèle HTTP.


public static void SetNetCodeGroupAccess()
{
    const string userPolicyLevel = "User";
    // Locate the User policy level.
    PolicyLevel level = null;
    System.Collections.IEnumerator ph = 
        System.Security.SecurityManager.PolicyHierarchy();
    while(ph.MoveNext())
    {
        level = (PolicyLevel)ph.Current;
        if( level.Label == userPolicyLevel )
        {
            break;
        }
    }
    if (level.Label != userPolicyLevel)
        throw new ApplicationException("Could not find User policy level.");

    IMembershipCondition membership =
        new UrlMembershipCondition(@"http://www.contoso.com/*");
    NetCodeGroup codeGroup = new NetCodeGroup(membership);
    // Delete default settings.
    codeGroup.ResetConnectAccess();
    // Create an object that represents access to the FTP scheme and default port.
    CodeConnectAccess a1 = new CodeConnectAccess(Uri.UriSchemeFtp, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the HTTPS scheme and default port.
    CodeConnectAccess a2 = new CodeConnectAccess(Uri.UriSchemeHttps, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the origin scheme and port.
    CodeConnectAccess a3 = CodeConnectAccess.CreateOriginSchemeAccess(CodeConnectAccess.OriginPort);
    // Add connection access objects to the NetCodeGroup object.
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a1);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a2);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a3);
    // Provide name and description information for caspol.exe tool.
    codeGroup.Name = "ContosoHttpCodeGroup";
    codeGroup.Description = "Code originating from contoso.com can connect back using the FTP or HTTPS.";
    // Add the code group to the User policy's root node.
    level.RootCodeGroup.AddChild(codeGroup);
    // Save the changes to the policy level.
    System.Security.SecurityManager.SavePolicy();
}


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.