Maison > développement back-end > C++ > Comment créer une autorisation personnalisée dans ASP.NET Core pour des exigences de réclamation simples?

Comment créer une autorisation personnalisée dans ASP.NET Core pour des exigences de réclamation simples?

Susan Sarandon
Libérer: 2025-02-01 18:21:09
original
773 Les gens l'ont consulté

How to Create a Custom AuthorizeAttribute in ASP.NET Core for Simple Claim Requirements?

Créez une autorisation personnalisée dans le noyau ASP.NET pour répondre aux exigences de l'instruction simple

Dans la première version d'Asp.net Core, vous pouvez créer une personnalité

en réécrivant bool AuthorizeCore(HttpContextBase httpContext). Cependant, cette méthode n'existe plus dans . AuthorizeAttribute AuthorizeAttribute La méthode actuelle de création de personnalités

consiste à utiliser une nouvelle conception stratégique, et son document

ici AuthorizeAttribute. L'idée de base de cette nouvelle méthode est d'utiliser la nouvelle fonctionnalité pour spécifier une "stratégie" (telle que ). ou plus). [Authorize] [Authorize(Policy = "YouNeedToBe18ToDoThis")] La conception stratégique est un bon complément au cadre, et l'équipe principale de la sécurité ASP.NET devrait le louer pour cela. En d'autres termes, il ne convient pas à toutes les situations. L'inconvénient de cette méthode est qu'il ne fournit pas une solution pratique pour les besoins les plus courants: affirmer simplement un contrôleur ou une déclaration d'exploitation donnée qui doit être donnée. Si la demande peut avoir des centaines d'autorisations discrètes pour gérer les opérations CRUD sur une seule ressource de repos ("cancreaterOrder", "canreadOrder", "canupdateOrder", "candeleteorder", etc.), la nouvelle méthode doit exiger le nom de stratégie et la déclaration Nom Répétez un mappage à un-un (par exemple Startup.cs), écrivez un code pour effectuer ces inscriptions pendant l'exécution (par exemple, lisez tous les types de déclarations de la base de données et exécutez les appels ci-dessus dans le cycle). Pour la plupart des cas, le problème de cette méthode est qu'il s'agit d'un excès de frais généraux.

Bien que l'équipe de sécurité Core ASP.NET recommande de ne pas créer votre propre solution, dans certains cas, cela peut être l'option de départ la plus prudente. options.AddPolicy("CanUpdateOrder", policy => policy.RequireClaim(MyClaimTypes.Permission, "CanUpdateOrder"));

Ce qui suit est la mise en œuvre de .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal