3
我正在使用MVC5的IAuthenticationFilter接口实现基本认证。我的理解是,这是现在的首选方法,而不是使用DelegatingHandler。我已经得到它的工作,但www-authenticate头没有在响应中返回。这是我实现ChallengeAsync的:如果我在AuthenticateAsync设置返回如何在IAuthenticationFilter实现中设置WWW身份验证标头?
public async Task ChallengeAsync(HttpAuthenticationChallengeContext context, CancellationToken cancellationToken)
{
var result = await context.Result.ExecuteAsync(cancellationToken);
if (result.StatusCode == HttpStatusCode.Unauthorized)
{
result.Headers.WwwAuthenticate.Add(new AuthenticationHeaderValue("Basic", "realm=localhost"));
}
}
的头,但我觉得我应该将其设置为ChallengeAsync。示例实现很难找到。
谢谢!看起来他们可能已经实现了这一点,但这个解决方案运行良好。 –
如果你想让它变得更容易,可以为这个工作项目投票:https://aspnetwebstack.codeplex.com/workitem/1456 – dmatson
@JamieIde:请参阅David的答案 - http:// stackoverflow。 COM/A/21742491。 – Badri