У меня есть приложение ASP.Net Core MVC 2.1 с пользовательским обработчиком аутентификации и пользовательским фильтром авторизации.Обработчик не перенаправляет на страницу входа в систему при сбое логики аутентификации, вместо этого он продолжает работу с запрошенной страницы.
Я не уверен, чего здесь не хватает.
Код:
protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
{
if (!<<Logic to verify whether user is authenticated or not >>) // Not Authenticated
{
AuthenticationProperties props = new AuthenticationProperties();
Context.Response.Redirect($"{virtualDirFullPath}/{Options.LogInPath}");
//expecting, it should redirect to login page from here
return AuthenticateResult.Fail("Invalid user name",props);
}
else
{
ClaimsPrincipal principal = new ClaimsPrincipal();
AuthenticationProperties props = new AuthenticationProperties();
AuthenticationTicket tkt = new AuthenticationTicket(principal, props, AppSettings.AuthenticationSchemeName);
return AuthenticateResult.Success(tkt);
}
}
return AuthenticateResult.NoResult();
}
Я ожидал, что обработчик перенаправит на страницу входа при сбое AuthenaticationResult.
Заранее спасибо.