Restringir acesso à métodos da aplicação.
Demandas RBS declarativas instruem o runtime a executar uma checagem RBS antes de rodar um método. É a forma mais segura de usar RBS para restringir acesso a código. Existem duas desvantagens para este modo:
- Somente pode ser usado para restringir acesso a métodos inteiros.
- Podem resultar em uma exceção em runtime. Se o método foi chamado por um evento do windows, a exceção é lançada e sua aplicação pode parar.
Para usar demanda RBS declarativa, seu código precisa ter 3 elementos:
- O método System.AppDomain.CurrentDomain.SetPrincipalPolicy para especificar a política de segurança.
- Um bloco Try/Catch para tratar tentativas de acesso sem sucesso e para reportar erros.
- Um atributo PrincipalPermission para declarar requisitos de acesso ao método.
Para aplicar o atributo, você precisa definir duas coisas antes:
- A ação que PrincipalPermission terá, que é conseguida através da enumeração SecurityAction. Geralmente usamos SecurityAction.Demand para RBS.
-
Uma ou mais propriedades da classe PrincipalPermission. Use Authenticated para restringir acesso a usuários autenticados, Role para grupos e User para usuários.
Neste código que segue, eu quero lançar uma exceção caso o usuário que esteja tentando executar o método FazerPagamento() não pertença ao grupo de administradores:
[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Administradores")]
static void FazerPagamento()
{
//Qualquer código aqui.
}
About this entry
You’re currently reading “Restringir acesso à métodos da aplicação.,” an entry on Luciano Carvalho
- Published:
- 16 16UTC Setembro 16UTC 2008 / 3:02 am
- Category:
- .Net Framework
No comments yet
Jump to comment form | comments rss [?] | trackback uri [?]