GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
HTTP::Server::Simple::Authen(3) User Contributed Perl Documentation HTTP::Server::Simple::Authen(3)
 

HTTP::Server::Simple::Authen - Authentication plugin for HTTP::Server::Simple

  package MyServer;
  use base qw( HTTP::Server::Simple::Authen HTTP::Server::Simple::CGI);
  use Authen::Simple::Passwd;
  sub authen_handler {
      Authen::Simple::Passwd->new(passwd => '/etc/passwd');
  }
  sub handle_request {
      my($self, $cgi) = @_;
      my $user = $self->authenticate or return;
      ...
  }
  MyServer->new->run();

HTTP::Server::Simple::Authen is an HTTP::Server::Simple plugin to allow HTTP authentication. Authentication scheme is pluggable and you can use whatever Authentication protocol that Authen::Simple supports.
You can use "authenticate" method whatever you want to authenticate the request. The method returns $username taken from the request if the authentication is successful, and "undef" otherwise. The code in "SYNOPSIS" requires authentication for all the requests and behaves just the same as Apache's "Require valid-user".
The following code will explain more about conditioning.
  sub handle_request {
      my($self, $cgi) = @_;
      if ($cgi->path_info =~ m!/foo/!) {
          my $user = $self->authenticate;
          return unless defined($user) && length($user) == 8;
      }
      ...
  }
This means all the requests to URL "/foo/" require to be authenticated, and usernames with 8 chars long are authorized.

Your subclass has to override following methods to implement HTTP authentication.
authen_handler
Should return a valid Authen::Simple instance to authenticate HTTP request (Required).
authen_realm
Returns a string for Authentication realm to be shown in the browser's dialog box. Defaults to 'Authorized area'.

Tatsuhiko Miyagawa <miyagawa@bulknews.net>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

HTTP::Server::Simple, Authen::Simple
2006-01-15 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.