Segurança baseada em funções

As funções são frequentemente usadas em aplicativos financeiros ou de negócios para impor políticas. Por exemplo, um aplicativo pode impor limites ao tamanho da transação que está sendo processada, dependendo se o usuário que faz a solicitação é membro de uma função especificada. Os funcionários podem ter autorização para processar transações que são inferiores a um limite especificado, os supervisores podem ter um limite mais alto e os vice-presidentes podem ter um limite ainda maior (ou nenhum limite). A segurança baseada em função também pode ser usada quando um aplicativo requer várias aprovações para concluir uma ação. Tal caso pode ser um sistema de compra no qual qualquer funcionário pode gerar uma solicitação de compra, mas apenas um agente de compras pode converter essa solicitação em uma ordem de compra que pode ser enviada a um fornecedor.

A segurança baseada em função do .NET oferece suporte à autorização disponibilizando informações sobre a entidade de segurança, que é construída a partir de uma identidade associada, para o thread atual. A identidade (e a entidade que ajuda a definir) pode ser baseada em uma conta do Windows ou ser uma identidade personalizada não relacionada a uma conta do Windows. Os aplicativos .NET podem tomar decisões de autorização com base na identidade ou associação de função da entidade de segurança, ou ambas. Uma função é um conjunto nomeado de entidades que têm os mesmos privilégios em relação à segurança (como um caixa ou um gerente). Um principal pode ser membro de uma ou mais funções. Portanto, os aplicativos podem usar a associação de função para determinar se uma entidade de segurança está autorizada a executar uma ação solicitada.

Para fornecer facilidade de uso e consistência com a segurança de acesso ao código, a segurança baseada em função do .NET fornece System.Security.Permissions.PrincipalPermission objetos que permitem que o Common Language Runtime execute a autorização de forma semelhante às verificações de segurança de acesso ao código. A PrincipalPermission classe representa a identidade ou função que o principal deve corresponder e é compatível com verificações de segurança declarativas e imperativas. Você também pode acessar as informações de identidade de uma entidade de segurança diretamente e executar verificações de função e identidade em seu código quando necessário.

O .NET fornece suporte de segurança baseado em função que é flexível e extensível o suficiente para atender às necessidades de um amplo espectro de aplicativos. Você pode optar por interoperar com infraestruturas de autenticação existentes, como Serviços COM+ 1.0, ou criar um sistema de autenticação personalizado. A segurança baseada em função é particularmente adequada para uso em aplicativos Web ASP.NET, que são processados principalmente no servidor. No entanto, a segurança baseada em função do .NET pode ser usada no cliente ou no servidor.

Antes de ler esta secção, certifique-se de que compreende o material apresentado em Key Security Concepts.

Consulte também