Présentation de la sécurité basée sur les rôles
Mise à jour : novembre 2007
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 de .NET Framework prend en charge les autorisations par transmission d'informations se rapportant aux entités de sécurité, construite à partir d'une identité connexe, au 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 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 que l'entité de sécurité doit avoir ; elle est à la fois compatible avec des 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.