NAME
Catalyst::Authentication::Store::Htpasswd - Authen::Htpasswd based user storage/authentication
VERSION
version 1.006
SYNOPSIS
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::User->supports or an override in user_class.
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"
) });
SEE ALSO
SUPPORT
Bugs may be submitted through the RT bug tracker (or bug-Catalyst-Authentication-Store-Htpasswd@rt.cpan.org).
There is also a mailing list available for users of this distribution, at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst.
There is also an irc channel available for users of this distribution, at #catalyst
on irc.perl.org
.
AUTHOR
יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
CONTRIBUTORS
David Kamholz <dkamholz@cpan.org>
Tomas Doran <bobtfish@bobtfish.net>
Karen Etheridge <ether@cpan.org>
Tom Bloor <t.bloor@shadowcat.co.uk>
Christopher Hoskin <christopher.hoskin@gmail.com>
Ilmari Vacklin <ilmari.vacklin@cs.helsinki.fi>
COPYRIGHT AND LICENCE
This software is copyright (c) 2005 by יובל קוג'מן (Yuval Kogman).
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.