ABP - AuthenticationFilter无法在控制器

时间:2017-12-15 03:28:10

标签: asp.net-boilerplate

我想实现一些自定义身份验证逻辑,所以我写了一个身份验证过滤器。但由于某种原因,AuthenticateAsync从未被调用,这使得该属性根本没用。

我在普通的web api项目中测试了相同的代码,该项目运行正常。任何想法为什么会这样?我如何调试以找到此方案的根本原因?我也没有在CallStack中得到任何东西。

这是控制器功能:

    [HttpPost]
    [CustomAuthentication]
    public async Task<JsonResult> TestFunc(UserAccount user)
    {
        //controller logic
        return Json("blah");
    }

以下是身份验证过滤器:

public class CustomAuthenticationAttribute : Attribute, IAuthenticationFilter
{    
    public CustomAuthenticationAttribute()
    {
        var tt = "does it get in?";
    }

    public Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken)
    {
        var req = context.Request; // never being called
        //xxx authentication logic
        return Task.FromResult(0);                                          
    }                                                                       
 }

0 个答案:

没有答案