如何将自定义授权过滤器添加到ASP网络核心中非控制器的方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将自定义授权过滤器添加到ASP网络核心中非控制器的方法?相关的知识,希望对你有一定的参考价值。

当我将自定义IAuthorization属性添加到控制器方法时,它起作用,但是当我将其添加到不属于控制器方法的方法中时,IAuthorization方法将不执行。为什么?

public interface ICasbinBLL

    public abstract string objectId  get; set; 

    [ClaimRequirement("userId", "delete")]
    string DeleteMonitoring();


public class CasbinBLL : ICasbinBLL

    public string objectId  get; set; 

    [ClaimRequirement("userId", "delete")]
    public string DeleteMonitoring()
    
        return objectId;
    

答案

IAuthorizationFilter是ASP.NET Core中的筛选器之一。筛选器由filter pipeline中的ASP.NET Core框架执行。

过滤器在ASP.NET Core操作调用管道(有时称为过滤器管道)中运行。筛选器管道在ASP.NET Core选择要执行的操作后运行。

如果将过滤器添加到自己的类型,则ASP.NET Core不知道如何执行它们。

以上是关于如何将自定义授权过滤器添加到ASP网络核心中非控制器的方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义标签/过滤器添加到现有的 Django 应用程序?

如何将自定义过滤器参数添加到已经对 beforeRequest 进行过滤的 MvcJqGrid postData?

如何在 ASP .Net 核心的 Swagger 中添加基本授权标头

php 如何将自定义过滤器字段添加到没有过滤器插件的Tribe事件日历(在此示例中 - 按类别和标记过滤)。示例:https:

如何将自定义视图+控制器添加到模型?

自定义授权过滤器在 ASP.NET Core 3 中不起作用