ASP.NET Core Filter支持依赖注入

本文介绍了ASP.NET Core如何通过TypeFilter和服务类型支持依赖注入。TypeFilter允许传递类型参数,并可自定义注入对象。ServiceType则需要将过滤器类型注册到IOC容器中,否则会引发错误。这两种方式都基于实现了IFilterFactory接口。
摘要由CSDN通过智能技术生成

过滤器可以通过全局注册,支持依赖注入

TypeFilter

需要传入类型参数

    public sealed class AuthorizeAdminAttribute : TypeFilterAttribute
    {
        public AuthorizeAdminAttribute(bool ignore = false) 
        :base(typeof(AuthorizeAdminFilter))
        {
            IgnoreFilter = ignore;
            Arguments = new object[] { ignore };
        }

        /// <summary>
        /// 获取一个值指示是否忽略过滤器动作的执行
        /// </summary>
        public bool IgnoreFilter { get; }

        private class AuthorizeAdminFilter : IAsyncAuthorizationFilter
        {
            private readonly bool _ignoreFilter;

            private readonly ILogger<AuthorizeAdminFilter> _logger;

            public AuthorizeAdminFilter(bool ignoreFilter,         
             ILogger<AuthorizeAdminFilter>logger)
            {
                _logger = logger;
                _ignoreFilter = ignoreFi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值