O conjunto de permissão de computação.
Importante |
---|
No .NET Framework versão 4, o common language runtime (CLR) está se afastando fornecendo a diretiva de segurança de computadores.Microsoft recomenda o uso de diretivas de restrição de Software do Windows como um substituto para a diretiva de segurança do CLR.As informações neste tópico se aplica à.NET Framework versão 3.5 e anterior; não se aplica à versão 4.0 e posterior.Para obter mais informações sobre esta e outras alterações, consulte Alterações de segurança na.NET Framework 4. |
O common language runtime calcula o conjunto de permissão para domínios de aplicativos e assemblies percorrendo as hierarquias do grupo de código para os níveis de diretiva relevante. Para os domínios de aplicativo, os níveis de diretiva relevantes são a empresa, máquina e usuário. Para módulos (assemblies), os níveis de diretiva relevante são a empresa, máquina, usuário e domínio de aplicativo.
O tempo de execução usa o seguinte processo para computar o conjunto de permissão:
Para cada nível de diretiva relevante, o runtime usa informações de identidade, fornecido por evidências para determinar quais grupos o código pertence. Se o código é um membro de um grupo, esse grupo é considerado uma correspondência.
Procurar uma correspondência começa no topo da hierarquia de grupos de código do grupo Todos do código. O runtime procura os níveis na hierarquia, incluindo grupos filhos se uma correspondência for encontrada em algum grupo pai.
Quando todas as correspondências na hierarquia foram identificadas, as permissões associadas a cada grupo de códigos correspondentes são combinadas de maneira aditiva (uma união), resultando no conjunto de permissões permitidas por aquele nível de diretiva.
O tempo de execução calcula o conjunto de permissão diferente se o Exclusive ou LevelFinal atributo é aplicado ao grupo de código. Para obter detalhes, consulte Atributos do grupo de código.
O tempo de execução, em seguida, repete a pesquisa de hierarquia e intercepta os conjuntos de permissões para cada nível de diretiva computar a permissão definida para o domínio de aplicativo ou assembly. O conjunto de permissão resultante contém apenas as permissões permitidas para todos os níveis de diretiva.
A ilustração a seguir mostra uma hierarquia de grupos de código onde o Microsoft ® Money é um membro dos quatro grupos de código: Todo o código, o Microsoft (o Editor), Internet Local (zona) e Microsoft Money (o nome). A permissão definida para um nível de diretiva fornecida (máquina, usuário ou domínio de aplicativo) é a combinação de aditiva (a união) dos conjuntos de permissões nomeadas associadas a cada um desses grupos de código.
Hierarquia de grupo de código