0
私はいくつかのカスタムロジックを持つ.netコアAuthenticationHandlerを作ろうとしています。私はページに要求を行うたびに、認証ハンドラのすべてが正常に実行されますが、エンドコントローラのコードを実際に実行せずに200を返します。私はこの簡単なバージョンにそれを蒸留しました。AuthenticationHandlerが途中でリクエストを終了しています
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication("Dummy")
.AddScheme<AuthenticationSchemeOptions, DummyAuthHandler>("Dummy", null);
...
マイハンドラ:
public class DummyAuthHandler : AuthenticationHandler<AuthenticationSchemeOptions>
{
public DummyAuthHandler(IOptionsMonitor<AuthenticationSchemeOptions> options,
ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) :
base(options, logger, encoder, clock)
{
}
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
=> Task.FromResult(AuthenticateResult.Success(
new AuthenticationTicket(new ClaimsPrincipal(), "Dummy")));
protected override Task HandleChallengeAsync(AuthenticationProperties properties)
=> Task.CompletedTask;
}
私は要求の処理を続行するためのフレームワークを伝えるために必要な方法の一つが欠けています考えて、とていませんよ私の認証ハンドラがページのリダイレクトを望んでいると思うだけです。たぶん、どこかでnext()への呼び出しを追加する必要がありますか?