0
我在Web API 2中創建了一個簡單的自定義身份驗證過濾器,如下所示。Web API 2中的身份驗證過濾器
public Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken)
{
string authToken = context.Request.Headers.GetValues("CustomAuthHeader").FirstOrDefault();
if (string.IsNullOrEmpty(authToken))
{
context.ErrorResult = new UnauthorizedResult(new AuthenticationHeaderValue[0], context.Request);
}
return Task.FromResult(0);
}
public Task ChallengeAsync(HttpAuthenticationChallengeContext context, CancellationToken cancellationToken)
{
return Task.FromResult(0);
}
我有以下問題,關於這個 -
1)。 AuthenticateAsync用於實現核心認證邏輯,但ChallengeAsync在現實生活中的用途是什麼。如果可能的話請用一個例子來解釋。 2)。爲什麼它返回任務。它會每次在後端創建一個新線程(無論何時適用)。如果它每次都創建一個新線程,當這個線程將被殺死? 3)。 Task.FromResult(0)的作用是什麼?
謝謝!