Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTTP::Server::Simple::UsereContributed Perl DocHTTP::Server::Simple::Authen(3)

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');
	 }

	 sub handle_request {
	     my($self, $cgi) = @_;
	     my	$user =	$self->authenticate or return;
	     ...
	 }

	 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.

       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.

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'.

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.

SEE ALSO
       HTTP::Server::Simple, Authen::Simple

perl v5.24.1			  2006-01-15   HTTP::Server::Simple::Authen(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTTP::Server::Simple::Authen&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help