Objetos PrincipalPermission

O modelo de segurança baseado em função da suporte a um objeto de permissão similar aos objetos de permissão localizados no modelo de segurança de acesso do código. Esse objeto, PrincipalPermission, representa a identidade e a função que uma classe principal específico deve executar. Você pode usar a classe de PrincipalPermission para verificações de segurança declarativos obrigatórios e.

Obrigatória para implementar a classe de PrincipalPermission , crie uma nova instância da classe e inicializar-la com o nome e a função que você deseja que os usuários tenham acesso ao código. Por exemplo, o seguinte código inicializa uma nova instância deste objeto com uma identidade de "Joan" e uma função de "Teller".

String id = "Joan";
String role = "Teller";
PrincipalPermission principalPerm = new PrincipalPermission(id, role);
Dim id As String = "Joan"
Dim role As String = "Teller"
Dim principalPerm As New PrincipalPermission(id, role)

Você pode criar uma permissão similar que usa declarativa a classe de PrincipalPermissionAttribute . O código a seguir inicializa declarativa a identidade a "Joan" e a função a "Teller".

[PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Joan", Role = "Teller")]
<PrincipalPermissionAttribute(SecurityAction.Demand, Name := "Joan", Role := "Teller")>

Enquanto a verificação de segurança é executado, a identidade especificada e a função devem corresponder para que a verificação foi bem-sucedida. No entanto, quando você cria o objeto de PrincipalPermission , você pode passar uma cadeia de caracteres nula de identidade para indicar que a identidade da entidade de segurança pode ser qualquer coisa. De maneira semelhante, passar uma função nula de cadeia de caracteres indica que a entidade de segurança pode ser um membro da função (ou nenhum funções de todos). Para a segurança declarativa, o mesmo resultado pode ser obtido omitindo uma ou outra propriedade. Por exemplo, o código a seguir usa PrincipalPermissionAttribute declarativa para indicar que uma entidade de segurança pode ter qualquer nome, mas deve ter a função da caixa.

[PrincipalPermissionAttribute(SecurityAction.Demand, Role = "Teller")]
<PrincipalPermissionAttribute(SecurityAction.Demand, Role := "Teller")>

Consulte também

Referência

PrincipalPermission

PrincipalPermissionAttribute

Outros recursos

Segurança baseada em função

Conceitos principais de segurança