Introducción a la seguridad basada en funciones
Actualización: noviembre 2007
Las funciones suelen utilizarse en aplicaciones empresariales o financieras para exigir las directivas de seguridad. Por ejemplo, una aplicación puede imponer límites al tamaño de la transacción que se está procesando, dependiendo de si el usuario que realiza la solicitud es miembro de una función especificada. Los empleados podrían tener autorización para procesar transacciones que no superasen un umbral especificado, los supervisores podrían tener un límite superior y los vicepresidentes podrían tener un límite todavía superior (o ningún límite). La seguridad basada en funciones también se puede utilizar cuando una aplicación requiere varias aprobaciones para completar una acción. Un caso podría ser un sistema de compras en el que un empleado pudiera generar una solicitud de compra, pero sólo un agente de compras pudiera convertir la solicitud en una orden de compra que se pudiera enviar a un proveedor.
La seguridad basada en funciones de .NET Framework admite la autorización poniendo a disposición del subproceso actual información relativa al principal, que se crea a partir de una identidad asociada. La identidad (y el principal que ayuda a definir) puede estar basada en una cuenta de Windows o puede ser una identidad personalizada no relacionada con una cuenta de Windows. Las aplicaciones .NET Framework pueden tomar decisiones sobre autorización basándose en la identidad del principal, en la pertenencia a una función del principal o en ambos conceptos. Una función es un conjunto de principales con nombre que tienen los mismos privilegios con respecto a la seguridad (como un tesorero o un administrador). Un principal puede ser miembro de una o varias funciones. Por tanto, las aplicaciones pueden utilizar la pertenencia a una función para determinar si un principal está autorizado a realizar una acción solicitada.
Para proporcionar facilidad de uso y coherencia con la seguridad de acceso del código, la seguridad basada en funciones de .NET Framework proporciona objetos PrincipalPermission que permiten a Common Language Runtime ejecutar la autorización de forma similar a las comprobaciones de seguridad de acceso a código. La clase PrincipalPermission representa la identidad o la función con las que ha de coincidir el principal y es compatible con las comprobaciones de seguridad tanto declarativas como imperativas. También se puede tener acceso directo a la información de identidad de un principal y realizar comprobaciones de funciones y de identidad en el código propio cuando sea necesario.
.NET Framework proporciona compatibilidad de seguridad basada en funciones que es suficientemente flexible y ampliable para satisfacer las necesidades de un amplio espectro de aplicaciones. Se puede elegir la interoperación con infraestructuras de autenticación existentes, como COM+ 1.0 Services, o la creación de un sistema de autenticación personalizado. La seguridad basada en funciones es particularmente apropiada para su utilización en aplicaciones Web ASP.NET, que se procesan principalmente en el servidor. Sin embargo, la seguridad basada en funciones de .NET Framework se puede utilizar tanto en el cliente como en el servidor.