Проверка подлинности Windows не работает в собственной размещаемой Katana при привязке к FQDN или IP-адресу - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь запустить собственный экземпляр Katana, который использует проверку подлинности Windows и привязан к полному доменному имени.

Приведенный ниже код работает только тогда, когда URL-адрес ссылается на localhost или имя компьютера.Но когда я пытаюсь использовать полное доменное имя или IP-адрес, Chrome будет зацикливаться, запрашивая учетные данные.Ввод моих учетных данных в этот момент также не работает.

Каждый пример запуска Katana использует localhost, как этот: Включение аутентификации Windows в Katana

У меня естьЗапись hosts для foo.bar, ссылающаяся на локальный IP-адрес моей машины, и выполняю из командной строки администратора.Я попытался с помощью netsh добавить запись urlacl безуспешно, но я не думаю, что это необходимо, так как я выполняю роль администратора.

Я также пробовал режим IntegratedWindowsAuthentication, который дает те же результаты.

Как получить запросы ответа Katana для http://foo.bar с использованием аутентификации Windows?

URL-адреса, которые работают:

URL, которые не:

class Program {
    static void Main(string[] args) {
        try {
            var url = args.Length == 1 ? args[0] : "http://localhost:9001";
            using (var webapi = WebApp.Start<Program>(url)) {
                Console.WriteLine("running on " + url);
                Console.ReadKey();
            }
        }
        catch (Exception ex) {
            Console.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
        }
    }

    public void Configuration(IAppBuilder app) {
        var listener = (HttpListener)app.Properties["System.Net.HttpListener"];
        //listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication;
        listener.AuthenticationSchemes = AuthenticationSchemes.Ntlm;

        app.Run(ctx => {
            Console.WriteLine(ctx.Request.Path);
            ctx.Response.ContentType = "text/plain";
            return ctx.Response.WriteAsync("hi " + DateTime.UtcNow.ToString("O"));
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...