Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi all,

I am trying www-Authentication on IIS sever.I am always getting 401 error (Access denied) inspite of valid username and password.

Error message details:

Error: 401 Access Denied HTTP/1.1 401 (Unauthorized) Access Denied Date: Sun, 19 Jan 2003 17:11:12 GMT Server: Microsoft-IIS/5.0 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM Content-Length: 24 Content-Type: text/html Client-Date: Sun, 19 Jan 2003 17:11:10 GMT Client-Peer: MYIP:80 Client-Warning: Unsupported authentication scheme 'ntlm'
My Code:
my $ua = new LWP::UserAgent; my $req = new HTTP::Request 'GET', 'http://mydomain.com/'; $req->authorization_basic('uname', 'password'); my $resp = $ua->request($req); if ($resp->is_success) { print $resp->content; } else { print "Error: " . $resp->status_line . "\n"; print $resp->as_string; }
Looking for help!

Thanks & Regards,
Raj

Replies are listed 'Best First'.
Re: NTLM problems:"Unsupported authentication scheme ntlm"
by dr_jgbn (Beadle) on Jan 19, 2003 at 18:20 UTC
    This might be too simple of a suggestion but first try using the LWP::Auth::NTLM module from CPAN.
    I will continue to look around
    Dr.J
Re: NTLM problems:"Unsupported authentication scheme ntlm"
by iguanodon (Priest) on Jan 19, 2003 at 20:05 UTC
    I think the suggestion from dr_jgbn is on the right track. IIS can either use basic authentication or NTLM authentication. It's been a while, but IIRC this is called 'Microsoft Challenge/Response' or something similar in the IIS admin GUI.

    If you have access to administer the server, you could also change it to use basic authentication and I think your existing code would work.

      I tried the way suggested by dr_jgbn yet i face the same problem any suggestion to overcome the same.
      Thanks ,
      Raj.
        Sorry, but no. I tried it against an IIS server at work, and I just couldn't authenticate with LWP.

        I set up a directory in IIS to be controlled with NTLM authentication, and I can authenticate with no problem using IE. AFAIK I've followed the instructions for using LWP::Authen::Ntlm to the letter (including verifying that the supporting modules are installed):

        use LWP::Debug qw(+); use LWP::UserAgent; use HTTP::Request::Common qw(GET POST); my $ua = new LWP::UserAgent(keep_alive=>1); $ua->credentials('myserver.mycompany.com:80', '', "mydomain\\user", 'p +assword'); $req = GET 'http://myserver.mycompany.com/ntlm_auth/'; $resp = $ua->request($req); if ($resp->is_success) { print $resp->content; } else { print "Error: " . $resp->status_line . "\n"; print $resp->as_string; }
        But I still get the same response as you. Note that using use LWP::Debug qw(+); doesn't provide any helpful information.

        Sorry I can't be of more help. I'd appreciate hearing from any Monks who have gotten this to work.