Créez une autorisation personnalisée dans le noyau ASP.NET pour répondre aux exigences de l'instruction simple
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
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 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!