添加了具有自己逻辑的授权属性。属性类继承自 AthorizeAttribute。向 api 发出请求时,OnAuthorization 会触发两次。这可能是什么原因,可以以某种方式修复吗?
我没有在 webconfig 或启动时为新属性添加任何数据。添加了继承自 AuthorizeAttribute 的 ExtendedAuthorizeAttribute 类。重新定义了 OnAuthorization 方法,添加了对 base.OnAuthorization(context) 的调用并添加了我自己的逻辑。经过测试,只留下 base.OnAuthorization(context) 该方法仍然有效。在我为属性定义了一个新类之后,我为需要授权的控制器添加了这个属性。之后,当调用 api 方法时,第一次 OnAuthorization 发生,然后是第二次,并且只有在控制权转移到 api 控制器之后(如果授权成功)。如果授权被拒绝,则该方法恰好执行 1 次。
已解决,添加属性设置