X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Authentication-Store-Htpasswd.git;a=blobdiff_plain;f=lib%2FCatalyst%2FPlugin%2FAuthentication%2FStore%2FHtpasswd%2FUser.pm;h=42582d6428c954f5637925c9e33c7e37a34a2472;hp=f018026ab158f4bc84fbe2a9e38177390d11263a;hb=cedb9fb4ae54e24ead346e95e1a9f574ea543eb8;hpb=7efcea1c2ca10adaad1feb4a4a8c667704d2667c diff --git a/lib/Catalyst/Plugin/Authentication/Store/Htpasswd/User.pm b/lib/Catalyst/Plugin/Authentication/Store/Htpasswd/User.pm index f018026..42582d6 100644 --- a/lib/Catalyst/Plugin/Authentication/Store/Htpasswd/User.pm +++ b/lib/Catalyst/Plugin/Authentication/Store/Htpasswd/User.pm @@ -37,7 +37,8 @@ sub check_password { sub roles { my $self = shift; - split( /,/, $self->user->extra_info ); + my $field = $self->user->extra_info->[0]; + return defined $field ? split /,/, $field : (); } sub for_session { @@ -66,11 +67,39 @@ __END__ Catalyst::Plugin::Authentication::Store::Htpasswd::User - A user object representing an entry in an htpasswd file. -=head1 SYNOPSIS +=head1 DESCRIPTION - use Catalyst::Plugin::Authentication::Store::Htpasswd::User; +This object wraps an L object. An instance of it will be returned +by C<< $c->user >> when using L. Methods +not defined in this module are passed through to the L object. The +object stringifies to the username. -=head1 DESCRIPTION +=head1 METHODS + +=head2 new($store,$user) + +Creates a new object from a store object, normally an instance of +L, and a user object, +normally an instance of L. + +=head2 id + +Returns the username. + +=head2 check_password($password) + +Returns whether the password is valid. + +=head2 roles + +Returns an array of roles, which is extracted from a comma-separated list in the +third field of the htpasswd file. + +=head1 COPYRIGHT & LICNESE + + Copyright (c) 2005 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