Determinar as permissões concedidas
Para os domínios de aplicativo, o conjunto de permissões concedidas é simplesmente o conjunto de permissão permitido.
Para módulos (assemblies), o Common linguagem tempo de execução considera outros fatores no time de carregamento de assembly para determinar o conjunto de permissão concedida.Um assembly pode conter solicitações de segurança declarativa que especificam as permissões que o código precisa ou deseja ter.A tabela a seguir descreve o permissão define que o código pode solicitar.
Permissão conjunto |
Descrição |
---|---|
Necessário |
Especifica o conjunto mínimo de permissões que deve ter o código para executar. |
Optional |
Identifica o código que deseja, juntamente com o mínimo definiu permissões.Isso faz com que todas as permissões não identificadas no conjunto mínimo ou conjunto opcional para ser implicitamente recusada. |
Recusada |
Especifica as permissões que nunca devem ser concedidas ao código. |
Se todos os três solicitações de permissão estiverem ausentes, o assembly é concedido simplesmente que conjunto a permissão de diretiva permite que.No entanto, se houver pelo menos um dos três solicitações de permissão, o tempo de execução considera as permissões solicitadas usando o seguinte processo:
O tempo de execução calcula as permissões permitidas para o assembly e assegura que o assembly tem permissão para executar.Se a permissão de executar não estiver presente, o tempo de execução lança um PolicyException e o código não é permitido executar.
O tempo de execução determina se o conjunto de permissões exigidos é um subconjunto do conjunto de permissão permitido.Caso contrário, o tempo de execução lança um PolicyException e o código não pode ser executado.
O tempo de execução intercepta as permissões solicitadas opcionais com o conjunto de permissões permitido.Se permissões opcionais não são solicitadas, em seguida, PermissionSet opcional é considerado FullTrust.
As uniões de tempo de execução o resultado da etapa 3 com as permissões mínimas solicitadas.
Finalmente, o tempo de execução subtrai quaisquer permissões que são recusadas do resultado da etapa 4.