Sécurité basée sur les rôles

Les rôles sont fréquemment utilisés lors de l'implémentation d'une stratégie dans une application financière ou d'entreprise. Ainsi, une application peut restreindre la taille de la transaction en cours, selon que l'utilisateur qui effectue la demande est membre d'un rôle spécifié. Par exemple, un employé est autorisé à traiter les transactions se situant en deçà d'un seuil spécifié, tandis que le seuil applicable à un superviseur est plus élevé, et celui d'un vice-président plus élevé encore (ou n'existe pas). La sécurité basée sur les rôles peut également être utilisée lorsque l'application requiert plusieurs autorisations avant la réalisation d'une action. C'est par exemple le cas d'un système d'achat dans lequel n'importe quel employé peut générer une demande d'achat, mais où seul un responsable des achats est habilité à convertir cette demande en bon de commande pour le transmettre à un fournisseur.

La sécurité basée sur les rôles du .NET Framework prend en charge les autorisations en mettant les informations relatives au Entité de sécurité, construit à partir d'une identité connexe, à disposition du thread en cours. L'identité (et l'entité de sécurité qu'elle permet de définir) peut être basée sur un compte Windows ou une identité personnalisée, indépendante de tout compte Windows. Les applications .NET Framework peuvent accorder des autorisations en fonction de l'identité de l'entité de sécurité, de son appartenance à un rôle, ou de ces deux éléments à la fois. Un rôle est un ensemble nommé d'entités de sécurité qui disposent des mêmes privilèges en matière de sécurité (par exemple un caissier ou un responsable). Une entité de sécurité peut être membre de plusieurs rôles. Par conséquent, les applications peuvent utiliser l'appartenance d'une entité de sécurité à un rôle pour déterminer si elle est autorisée à exécuter l'action demandée.

Pour faciliter son utilisation et améliorer la cohérence avec la sécurité d'accès du code, la sécurité basée sur les rôles de .NET Framework fournit des objets System.Security.Permissions.PrincipalPermission qui permettent au Common Language Runtime d'accorder des autorisations de façon similaire aux autorisations accordées lors des vérifications de sécurité d'accès du code. La classe PrincipalPermission représente l'identité ou le rôle auquel ou à laquelle le principal doit correspondre ; elle est à la fois compatible avec les vérifications de sécurité déclaratives et impératives. Vous pouvez également accéder directement aux informations se rapportant à l'identité de l'entité de sécurité et effectuer des vérifications de rôle et d'identité dans votre code, si nécessaire.

.NET Framework offre une prise en charge de la sécurité basée sur les rôles suffisamment flexible et extensible pour répondre aux exigences d'une vaste gamme d'applications. Vous pouvez choisir d'interagir avec des infrastructures d'authentification existantes, telles que les services COM+ 1.0, ou de créer un système d'authentification personnalisé. La sécurité basée sur les rôles convient particulièrement aux applications Web ASP.NET qui sont principalement traitées sur le serveur. Toutefois, la sécurité basée sur les rôles de .NET Framework s'utilise aussi bien sur le client que sur le serveur.

Avant de lire cette section, assurez-vous que vous avez bien assimilé les informations contenues dans la section Concepts fondamentaux sur la sécurité.

Rubriques connexes

Titre

Description

Objets Principal et Identity

Explique comment configurer et gérer à la fois des identités et des entités de sécurité Windows et génériques.

Objets PrincipalPermission

Décrit comment implémenter les objets d'autorisation de manière déclarative et impérative.

Contrôles de sécurité basés sur les rôles

Décrit comment implémenter des contrôles de sécurité de manière déclarative, impérative ou en accédant directement à un objet Principal.

Interopération avec la sécurité COM+ 1.0

Donne une vue d'ensemble de la manière dont la sécurité COM+ 1.0 interagit avec .NET Framework.

Concepts fondamentaux sur la sécurité

Présente les concepts fondamentaux à assimiler avant d'utiliser la sécurité .NET Framework.

Outils de sécurité (.NET Framework)

Répertorie et décrit brièvement les outils de sécurité inclus dans le .NET Framework.

Référence

System.Security.Permissions.PrincipalPermission