My apologies if you've seen this twice.

For a particular Location, I'd like to selectively (i.e., based on
arbitrary criteria) determine whether a visitor needs authentication.
So I set up a Location section in httpd.conf as follows:

<Location />
      AuthType Apache::AuthTicket
      AuthName HomeIntranet
      PerlAuthenHandler Intranet::CheckSiteAuthen
      #PerlAuthenHandler Apache::AuthTicket->authenticate
      PerlAuthzHandler Apache::AuthTicket->authorize
      require valid-user
</Location>

Intranet::CheckSiteAuthen looks like:

---[start]-----
package Intranet::CheckSiteAuthen;

use strict;
use DBI;
use Apache::Constants qw(:common);
use Intranet::common;

sub handler {
  my $r = shift;
  $r->warn("starting CheckSiteAuthen");
  $r->push_handlers(PerlAuthenHandler =>
'Apache::AuthTicket->authenticate');

  return DECLINED;
}


1;
---[end]-----

But when I try to access a location under that configuration,
I see in my error log:
[Mon Jun 25 18:33:55 2001] [crit] [client 192.168.10.15] configuration
error:  couldn't
check user.  No user file?: /u/IntranetLoginForm

(/u/IntranetLoginForm is the login CGI form that Apache::AuthTicket
uses).

All I'm trying to do at this point is set up a PerlAuthenHandler that
passes control to another one (Apache::AuthTicket->authenticate).

Of course, everything works with the configuration

<Location />
      AuthType Apache::AuthTicket
      AuthName HomeIntranet
      #PerlAuthenHandler Intranet::CheckSiteAuthen
      PerlAuthenHandler Apache::AuthTicket->authenticate
      PerlAuthzHandler Apache::AuthTicket->authorize
      require valid-user
</Location>

Any suggestions for me?

Thanks,

-- 
Steve Chadsey <[EMAIL PROTECTED]>
Now playing: Devil's Child
(Judas Priest - "Screaming For Vengeance")

Reply via email to