Hi again!
I have finally tried it under Microsoft .NET and the same code seems to be run
correctly. I guess authentication is not implemented in System.Net.HttpListener.
Pedro Santos Gomez <[EMAIL PROTECTED]> escribió: Hi!
I'm having problems with enabling Basic authentication in
System.Net.HttpListener. I am trying code from a lot of forums and so on,
with no result.
This code, for example:
"""
using System.IO;
using System.Web;
using System.Net;
using System;
public class A { static void Main(){
HttpListener listener = new HttpListener();
/* Here is the important code */
listener.AuthenticationSchemeSelectorDelegate += delegate{
Console.WriteLine("Asking for authentication scheme");
return AuthenticationSchemes.Basic;
};
/* end of important code */
listener.Prefixes.Add("http://*:1234/");
listener.Start();
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
Console.WriteLine("Received: {0} {1} from
{2}",request.HttpMethod,request.Url,request.RemoteEndPoint);
if(context.User == null){
Console.WriteLine("No user!");
}else{
Console.WriteLine(context.User.Identity == null);
HttpListenerBasicIdentity identity =
(HttpListenerBasicIdentity)context.User.Identity;
Console.WriteLine("Name = {0}; password =
{1}",identity.Name,identity.Password);
}
HttpListenerResponse response = context.Response;
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
output.Close();
listener.Stop();
} }
"""
and entering in http://localhost:1234/ returns the Hello World... but it never
says "Asking for authentication scheme" and context.User is null. And I don't
find any way to force the browser to ask for authentication. Neither even
entering in http://user:[EMAIL PROTECTED]:1234/ helps.
Replacing the "important code" by:
"""
listener.AuthenticationSchemes = AuthenticationSchemes.Basic;
"""
does have the same effect.
Did anybody manage to make this work under Mono? Thank you very much.
By the way, I'm running:
"""
$ mcs --version
Mono C# compiler version 1.2.2.1
$ mono --version
Mono JIT compiler version 1.2.2.1, (C) 2002-2006 Novell, Inc and Contributors.
www.mono-project.com
TLS: normal
GC: Included Boehm (with typed GC)
SIGSEGV: normal
Disabled: none
"""
from the Mono 1.2.2.1 generic Linux on x86 installer.
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list
---------------------------------
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list