NAME
Catalyst::Authentication::Store::Htpasswd - Authen::Htpasswd based user storage/authentication.
SYNOPSIS
use Catalyst qw/
Authentication
/;
__PACKAGE__->config(
authentication => {
default_realm => 'test',
realms => {
test => {
credential => {
class => 'Password',
password_field => 'password',
password_type => 'self_check',
},
store => {
class => 'Htpasswd',
file => 'htpasswd',
},
},
},
},
);
sub login : Global {
my ( $self, $c ) = @_;
$c->authenticate({ username => $c->req->param("login"), password => $c->req->param("password") });
}
DESCRIPTION
This plugin uses Authen::Htpasswd to let your application use <.htpasswd
> files for it's authentication storage.
METHODS
new
Simple constructor, dies if the htpassword file can't be found
find_user
Looks up the user, and returns a Catalyst::Authentication::Store::Htpasswd::User object.
user_supports
Delegates to Catalyst::Authentication::Store::Htpasswd::User-user_supports|Catalyst::Authentication::Store::Htpasswd::User#user_supports>
from_session
Delegates the user lookup to find_user
CONFIGURATION
file
The path to the htpasswd file. If the path starts with a slash, then it is assumed to be a fully qualified path, otherwise the path is fed through $c-
path_to > and so normalised to the application root.
Alternatively, it is possible to pass in an " Authen::Htpasswd " object here, and this will be used as the htpasswd file.
user_class
Change the user class which this store returns. Defaults to " Catalyst::Authentication::Store::Htpasswd::User ". This can be used to add additional functionality to the user class by sub-classing it, but will not normally be needed.
user_field
Change the field that the username is found in in the information passed into the call to $c->authenticate()
.
This defaults to username , and generally you should be able to use the module as shown in the synopsis, however if you need a different field name then this setting can change the default.
Example:
__PACKAGE__->config( authentication => { realms => { test => {
store => {
class => 'Htpasswd',
user_field => 'email_address',
},
}}});
# Later in your code
$c->authenticate({ email_address => $c->req->param("email"), password => $c->req->param("password") });
AUTHORS
Yuval Kogman <nothingmuch@woobling.org
>
David Kamholz <dkamholz@cpan.org
>
Tomas Doran <bobtfish@bobtfish.net
>
SEE ALSO
COPYRIGHT & LICENSE
Copyright (c) 2005-2008 the aforementioned authors. All rights
reserved. This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 125:
L<> starts or ends with whitespace
- Around line 130:
L<> starts or ends with whitespace