Authentication::Store::Htpasswd:
[catagits/Catalyst-Authentication-Store-Htpasswd.git] / lib / Catalyst / Plugin / Authentication / Store / Htpasswd / User.pm
1 #!/usr/bin/perl
2
3 package Catalyst::Plugin::Authentication::Store::Htpasswd::User;
4 use base qw/Catalyst::Plugin::Authentication::User Class::Accessor::Fast/;
5
6 use strict;
7 use warnings;
8
9 BEGIN { __PACKAGE__->mk_accessors(qw/user/) }
10
11 use overload '""' => sub { shift->user->username };
12
13 sub new {
14         my ( $class, $user ) = @_;
15
16         bless { user => $user }, $class;
17 }
18
19 sub supported_features {
20         return {
21                 password => {
22                         self_check => 1,
23                 },
24                 session => 1
25         };
26 }
27
28 sub check_password {
29         my ( $self, $password ) = @_;
30
31         return $self->user->check_password( $password );
32 }
33
34 sub roles {
35         my $self = shift;
36         split( ",", $self->user->extra_info );
37 }
38
39 sub for_session {
40     my $self = shift;
41     return $self;
42 }
43
44 sub from_session {
45     my ($class,$c,$user) = @_;
46     return $user;
47 }
48
49 __PACKAGE__;
50
51 __END__
52
53 =pod
54
55 =head1 NAME
56
57 Catalyst::Plugin::Authentication::Store::Htpasswd::User - A user object
58 representing an entry in an htpasswd file.
59
60 =head1 SYNOPSIS
61
62         use Catalyst::Plugin::Authentication::Store::Htpasswd::User;
63
64 =head1 DESCRIPTION
65
66 =cut
67
68