NAME
HTTP::Server::Simple::Authen - Authentication plugin for HTTP::Server::Simple
SYNOPSIS
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');
}
MyServer->new->run();
DESCRIPTION
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.
METHODS
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'.
- needs_authen
-
Returns true if the request needs authentication. Takes
$cgi
as a parameter. Default to return 1 (which means all the requests should be authenticated).For example, you can use the following code to authenticate URL under
/foo/
.sub needs_authen { my($self, $cgi) = @_; return $cgi->path_info =~ m!/foo/!; }
-
Returns true if you allow authenticated user to access the content. Takes username as a parameter. By default it always returns true, which means the same thing with Apache's
Require valid-user
.The following code means it only authorizes usernames with 8 chars long.
sub authorize_user { my($self, $username) = @_; return length($username) == 8; }
AUTHOR
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.