Как установить точку останова на атрибуте [Authorize] - PullRequest
0 голосов
/ 15 октября 2019

Можно ли установить точку останова для атрибута [Authorize] в моем классе? Это приводило к ошибкам Bad Request, и мне было интересно, что внутри атрибута [Authorize] заставляет его это делать.

В качестве альтернативы, можно ли перезаписать атрибут [Authorize] и сохранить функции оригиналов после моегоусловия?

Я получаю ошибки BadRequest из-за способа входа в систему, как показано в этом вопросе: .NET Core 2.2 Shared Cookie вызывает ошибку Bad Request при входе в систему

РЕДАКТИРОВАТЬ: добавлен пользовательский атрибут авторизации

public class ExtendedAuthorizeAttribute : AuthorizeAttribute
{
    public async Task OnAuthorizationAsync(AuthorizationFilterContext authorizationFilterContext)
    {
        if (authorizationFilterContext.HttpContext.User.Identity.IsAuthenticated == false)
        {
            base.Function();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Вы не можете поместить точку останова в фильтр [Authorize] по умолчанию, но вы можете отладить входящий запрос, указав свой собственный AuthenticateAsync и проверяя его, пока не обнаружите проблему.

Следующий фрагментиз Фильтры аутентификации в ASP.NET Web API 2 .

public async Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken)
{
    // 1. Look for credentials in the request.
    HttpRequestMessage request = context.Request;
    AuthenticationHeaderValue authorization = request.Headers.Authorization;
0 голосов
/ 15 октября 2019
  • Is it possible to set a breakpoint on the [Authorize] ? Боюсь, что невозможно

  • Is it possible to overwrite the [Authorize] Attribute and keep the originals functions after my conditions? Да, функции базового класса можно вызывать с помощью base.Function()

...