我有一个ASP MVC 5应用程序,我无法使自定义身份验证筛选器工作.
我在"CustomFilters"文件夹中创建了一个自定义身份验证过滤器,如下所示:
public class CustomBasicAuthAttribute : ActionFilterAttribute, IAuthenticationFilter
{
public void OnAuthentication(AuthenticationContext context)
{
// does not fire... :(
}
public void OnAuthenticationChallenge(AuthenticationChallengeContext context)
{
// does not fire... :(
}
}
Run Code Online (Sandbox Code Playgroud)
在我的ProductController中,我装饰了以下方法之一:
public class ProductsController : ApiController
{
[CustomBasicAuth]
[HttpGet]
[Route("clients/{id}/products")]
public IEnumerable<Products> GetByClientId(int id)
{
return new List<Products>();
}
Run Code Online (Sandbox Code Playgroud)
但是,出于某种原因,CustomBasicAuth类中的OnAuthentication方法永远不会触发.我试图装饰整个控制器,并尝试全局加载它,但没有一个工作.
我阅读并关注了大量有关此问题的在线文章,看起来这应该可行.
任何帮助将不胜感激.