To, co próbujesz zrobić, to przekazywać dane uwierzytelniające za pośrednictwem podstawowego uwierzytelniania HTTP, nie jestem pewien, czy składnia nazwa użytkownika: hasło jest obsługiwana w HttpListener, ale jeśli tak, musisz określić, że akceptujesz podstawowe auth pierwszy.
HttpListener listener = new HttpListener();
listener.Prefixes.Add(uriPrefix);
listener.AuthenticationSchemes = AuthenticationSchemes.Basic;
listener.Start();
Po otrzymaniu wniosku, można następnie wyodrębnić nazwę użytkownika i hasło:
HttpListenerBasicIdentity identity = (HttpListenerBasicIdentity)context.User.Identity;
Console.WriteLine(identity.Name);
Console.WriteLine(identity.Password);
Here's a full explanation wszystkich obsługiwanych metod authenitcation, które mogą być używane z HttpListener.
Niestety, powiedziałem: „Nie jestem, czy nazwa użytkownika: Składnia haseł jest obsługiwana w HttpListener ", ale oczywiście jest to klient, który przekształci to w nagłówek" WWW-Authenticate: basic ", więc ma to znaczenie tylko wtedy, gdy klient go obsługuje. Wierzę, że wsparcie dla niego zostało niedawno usunięte z IE. –