首页 > 其他分享 >ActionFilterAttribute执行了2次问题

ActionFilterAttribute执行了2次问题

时间:2023-08-02 09:12:24浏览次数:33  
标签:AuthorizeFilter GetTest1List 问题 Controller ActionFilterAttribute 执行 public

问题描述:最近搭建了一个.NET Core WebApi,用ActionFilterAttribute来处理token和权限问题,结果每次调用接口都执行2次OnActionExecuting或者OnActionExecutionAsync。

问题分析:网络上有说是和浏览器有关系,说谷歌浏览器的jsonview的问题啥的,经过测试并没有关系。最后仔细分析了一下架构,发现是Controller的问题。

解决方法:通过下图代码,可以看到Controller本身已经过滤了,GetTest1List又要求过滤,所以ActionFilterAttribute执行了2次,根据权限设计,可以去掉其中之一AuthorizeFilter即可。

[Route("[controller]/[action]")]
    [ApiController]
    [AuthorizeFilter]
    public class Test1Controller : ControllerBase
    {
        [HttpGet]
        [AuthorizeFilter("test1")]
        public async Task<TData<List<Test1Entity>>> GetTest1List()
        {
            return await new Test1BLL().GetList();
        }
    }

 

标签:AuthorizeFilter,GetTest1List,问题,Controller,ActionFilterAttribute,执行,public
From: https://www.cnblogs.com/oBehavior/p/17599655.html

相关文章

  • 新建django项目两种办法,没有sqlite问题,更新数据库两条命令
    一般可以通过两种方式新建django项目:一、新建普通项目,再加载django框架1.新建一个普通的python项目,然后通过命令行安装django框架,进而加载项目2.在项目的终端命令行中,输入“django-adminstartproject项目名.”(注意最后这个"."必须输入,否则项目会套娃),再输入django-admin s......
  • 统信UOS专业版 apt update失败问题解决方法
    UOSaptupdate时提示‘仓库“https://pro-store-packages.uniontech.com/appstoreeagle-proInRelease”的签名不再生效’只需要更改/etc/apt/sources.list.d/appstore.list文件内容,改为debhttps://com-store-packages.uniontech.com/appstoredeepinappstore同时,建......
  • 线上问题排查--进程重启失败,最后发现是忘了cd
    背景我前面写了几篇文章,讲c3p0数据库连接池发生了连接泄露,但是随机出现,难以确定根因,最终呢,为了快速解决问题,我是先写了个shell脚本,脚本主要是检测服务的接口访问日志,看看过去的30s内是不是接口几乎都超时了,如果是的话,咱们就重启服务。然后把这个shell加入到了crontab里,每30s调度......
  • Rust 在Window上交叉编译Android库问题 error: linking with
    报错:error:linkingwith`D:/NDK/android-ndk-r25c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android30-clang.cmd`failed:exitcode:255|=note:"D:/NDK/android-ndk-r......
  • SpringBoot + Redis 执行lua脚本
    1、背景有时候,我们需要一次性操作多个Redis命令,但是这样的多个操作不具备原子性,而且Redis的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用lua脚本来实现Redis的事务。2、lua脚本Redis中使用lua脚本,我们需要注意......
  • Apache RocketMQ 远程代码执行漏洞(CVE-2023-33246)
    漏洞简介RocketMQ5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer、Broker、Controller等多个组件外网泄露,缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令。此外,攻击者可以通过伪造RocketMQ协议内容来达到......
  • 解决在macOS系统上使用rust-gdb调式rust代码时无法进入断点的问题
        问题title缩写,主要原因是gdb无法在cargo生成可执行文件和符号信息关联起来,类型信息如下图:  解决方案:在Cargo.toml文件中添加一项配置,所以能找到符号信息. 配置信息说明:1. profile.dev或者profile.release是用cargobuild进行编译时使用到的配置......
  • 数据库查询表索引失效问题,如果通过索引值值查询到的总量占比全表总量小于30%的话,索引
    索引失效问题原文链接:https://blog.csdn.net/WelcomeTheWorld/article/details/125866989第一种场景:如果sql语句通过索引字段进行查询,查询条件有大于等于、小于等于等值判断时,索引是否会失效?1.Oracle数据库:Oracle数据库是不会失效的。Oracle不免费已在公司测试。2.MySQL数......
  • 记录--五个有用的iframe踩坑问题,快收藏!
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 你不会还不知道iframe不能嵌入百度首页吧?为了丰富用户体验,我们常常会将其他网站的内容嵌入到自己的网页中。然而,随之而来的是一个常见的问题:Iframe嵌入网站无法正常使用。你是否也曾遇到过这个困扰,不知道该如......
  • CDN能帮互联网应用解决四个核心问题
    伴随着数字经济时代的全面到来,CDN作为互联网基础设施,将承载海量的数据,成为"互联网高速公路"的守护者。为上万名网友搭建与用户之间的信息沟通桥梁,提升网民体验。秒懂CDN——静态、动态内容加速在典型的互联网应用架构下,网民每天用手机、iPad、电脑等各色终端设备去访问因特网,是通过......