Предоставление сообщения об отказе в аутентификации в httplisteners authenticationselectordelegate - PullRequest
7 голосов
/ 08 мая 2019

В настоящее время я использую делегат для проверки подлинности httplistener для проверки подлинности Windows и проверки IP-адресов, и он работает блестяще, поскольку он запрещает и разрешает именно те клиенты, которыми он должен быть.

Однако проблема в том, что когда кому-то отказывают, он получает http-ответ 403, который большинством браузеров, по-видимому, интерпретируется как пустой экран.То, что я хотел бы сделать, это отправить сообщение обратно, говоря что-то вроде «доступ запрещен: ваш ip был в белом списке».

Возможно ли это?

Ниже приведен фрагмент делегата (который отлично работает в данный момент).

AuthenticationSchemeSelector pIPChecker = pRequest =>
{
    if (!pfunIPChecker(pRequest.RemoteEndPoint.Address))
    {
        LogHelper.writeToEventLog(
            "WARNING, BANNED IP: " + pRequest.RemoteEndPoint.Address.MapToIPv4().ToString() + "attempted to login", 
            EventLogEntryType.Warning,
            LogHelper.EventLogID.PermissionFailure);

        return AuthenticationSchemes.None;
    }

    return AuthenticationSchemes.Anonymous;
}

1 Ответ

0 голосов
/ 06 июля 2019

Как указывал X39, кажется, что единственный способ сделать это - , а не - использовать делегат Authenticator, вместо этого фактически читать в запросе как обычно и отправлять обратно 403 с желаемым контентом..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...