Я пытаюсь запустить собственный экземпляр 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"));
});
}
}