Segurança baseada em função
Geralmente, as funções são usadas em aplicativos financeiros ou empresariais para impor a política. Por exemplo, um aplicativo pode impor limites ao tamanho da transação que está sendo processada dependendo se o usuário que está fazendo a solicitação é membro de uma função especificada. Os funcionários podem ter autorização para processar transações menores que um limite especificado. Os supervisores podem ter um limite maior, 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. Esse caso pode ser um sistema de compra no qual qualquer funcionário pode gerar uma solicitação de compra, mas apenas um agente de compra 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 dá suporte à autorização ao disponibilizar para o thread atual informações sobre a entidade de segurança, que são construídas a partir de uma identidade associada. A identidade (e a entidade de segurança que ela 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 do .NET podem tomar decisões de autorização com base na associação de função ou na identidade da entidade de segurança, ou ambos. Uma função é um conjunto nomeado de entidades de segurança que têm os mesmos privilégios em relação à segurança (como um caixa ou um gerente). Uma entidade de segurança 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 do código, a segurança baseada em função do .NET fornece objetos System.Security.Permissions.PrincipalPermission que permitem que o common language runtime execute a autorização de uma maneira semelhante às verificações de segurança de acesso do código. A classe PrincipalPermission representa a identidade ou a função que a entidade de segurança deve corresponder e é compatível com verificações de segurança declarativas e obrigatórias. 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 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 seção, confirme se entendeu o material apresentado nos Principais Conceitos de Segurança.