我尝试为每个请求创建新的AuthenticationAttribute
。我找到IAutofacAuthorizationFilter
的方式我可以在WebApiConfig
注册,然后我可以为每个请求使用新实例。但是没有autofac就有办法做到这一点。
public class AuthenticationAttribute : IAutofacAuthorizationFilter
{
private readonly IAuthService authService;
public AuthenticationAttribute(IAuthService authService)
{
this.authService = authService;
}
public async Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
{
//some actionContext control with authService
}
}
我需要这样做,因为IAuthService
是每个请求的实例。我正在使用Autofac进行DI,但我不想直接在我的代码中使用Autofac。