私は自分のカスタムを作成しようとしていますSystem.Web.Http.AuthorizeAttribute
。 async
関数をオーバーライドされたOnAuthorization
関数の内部で実行する必要があるまで、すべてが機能していました。カスタムAuthorizeAttribute OnAuthorizationAsync関数
私はOnAuthorizationAsync
メソッドを見つけましたが、それでもまだasync
メソッドを実行している問題があります。 HttpActionContext
に添付されたヘッダーがdbにあることを確認する必要があります。
public override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
{
IEnumerable<string> values;
if (actionContext.Request.Headers.TryGetValues("Authentication", out values))
{
var token = new Token() { TokenString = values.First() };
if (await _tg.ValidateToken(token))
{
return base.OnAuthorizationAsync(actionContext, cancellationToken);
}
}
base.HandleUnauthorizedRequest(actionContext);
}
_tg.ValidateToken(token)
ブール値を返すasync
方法です。私はawait
にそれを試してみて、OnAuthorizationAsync
async
方法を作る場合、私はその後、明らかにタスクを返すカント:
OnAuthorizeAsyncは、「タスク」を返す
async
方法であるので、returnキーワードは、オブジェクト式に続いてはいけません。
この混乱からわかる方法はありますか?