#!/usr/bin/perl
package Catalyst::Authentication::Store::Htpasswd;
+# ABSTRACT: Authen::Htpasswd based user storage/authentication
+
use base qw/Class::Accessor::Fast/;
use strict;
use warnings;
-use Authen::Htpasswd;
+use Authen::Htpasswd 0.13;
use Catalyst::Authentication::Store::Htpasswd::User;
use Scalar::Util qw/blessed/;
-our $VERSION = '1.003';
+our $VERSION = '1.007';
BEGIN { __PACKAGE__->mk_accessors(qw/file user_field user_class/) }
sub new {
my ($class, $config, $app, $realm) = @_;
-
+
my $file = delete $config->{file};
unless (ref $file) {
my $filename = ($file =~ m|^/|) ? $file : $app->path_to($file)->stringify;
$config->{file} = $file;
$config->{user_class} ||= __PACKAGE__ . '::User';
$config->{user_field} ||= 'username';
-
+
bless { %$config }, $class;
}
sub user_supports {
my $self = shift;
- # this can work as a class method, but in that case you can't have
+ # this can work as a class method, but in that case you can't have
# a custom user class
ref($self) ? $self->user_class->supports(@_)
: Catalyst::Authentication::Store::Htpasswd::User->supports(@_);
=pod
-=head1 NAME
-
-Catalyst::Authentication::Store::Htpasswd - Authen::Htpasswd based
-user storage/authentication.
-
=head1 SYNOPSIS
use Catalyst qw/
},
},
},
- },
+ },
);
sub login : Global {
=head1 DESCRIPTION
-This plugin uses L<Authen::Htpasswd> to let your application use C<<.htpasswd>>
-files for it's authentication storage.
+This plugin uses L<Authen::Htpasswd> to let your application use C<< .htpasswd >>
+files for its authentication storage.
=head1 METHODS
=head2 user_supports
-Delegates to L<Catalyst::Authentication::Store::Htpasswd::User->user_supports|Catalyst::Authentication::Store::Htpasswd::User#user_supports>
+Delegates to L<< Catalyst::Authentication::User->supports|Catalyst::Authentication::User/supports >> or an
+override in L<user_class|/user_class>.
=head2 from_session
-Delegates the user lookup to C<< find_user >>
+Delegates the user lookup to L<find_user|/find_user>
=head1 CONFIGURATION
=head2 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<< $c->path_to >> and so normalised to the
+qualified path, otherwise the path is fed through C<< $c->path_to >> and so normalised to the
application root.
-Alternatively, it is possible to pass in an L< Authen::Htpasswd > object here, and this will be
+Alternatively, it is possible to pass in an L<Authen::Htpasswd> object here, and this will be
used as the htpasswd file.
=head2 user_class
-Change the user class which this store returns. Defaults to L< Catalyst::Authentication::Store::Htpasswd::User >.
+Change the user class which this store returns. Defaults to L<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.
# Later in your code
$c->authenticate({ email_address => $c->req->param("email"), password => $c->req->param("password") });
-=head1 AUTHORS
-
-Yuval Kogman C<<nothingmuch@woobling.org>>
-
-David Kamholz C<<dkamholz@cpan.org>>
-
-Tomas Doran C<<bobtfish@bobtfish.net>>
-
=head1 SEE ALSO
L<Authen::Htpasswd>.
-=head1 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.
-
=cut
-
-