Auth 0.03, user_exists and a few pod fixes
[catagits/Catalyst-Plugin-Authentication.git] / lib / Catalyst / Plugin / Authentication / Store / Minimal.pm
CommitLineData
07e49bc7 1#!/usr/bin/perl
2
3package Catalyst::Plugin::Authentication::Store::Minimal;
07e49bc7 4
5use strict;
6use warnings;
7
8use Catalyst::Plugin::Authentication::Store::Minimal::Backend;
9
10sub setup {
11 my $c = shift;
12
dde93f12 13 $c->default_auth_store(
14 Catalyst::Plugin::Authentication::Store::Minimal::Backend->new(
15 $c->config->{authentication}{users}
16 )
17 );
07e49bc7 18
dde93f12 19 $c->NEXT::setup(@_);
07e49bc7 20}
21
22__PACKAGE__;
23
24__END__
25
26=pod
27
28=head1 NAME
29
30Catalyst::Plugin::Authentication::Store::Minimal - Authentication
02c54a71 31database in C<< $c->config >>.
07e49bc7 32
33=head1 SYNOPSIS
34
35 use Catalyst qw/
36 Authentication
37 Authentication::Store::Minimal
38 Authentication::Credential::Password
39 /;
40
41 __PACKAGE__->config->{authentication}{users} = {
42 name => {
43 password => "s3cr3t",
44 roles => [qw/admin editor/],
45 ...
46 },
47 };
48
49 sub login : Global {
50 my ( $self, $c ) = @_;
51
52 $c->login( $c->req->param("login"), $c->req->param("password"), );
53 }
54
55=head1 DESCRIPTION
56
57This authentication store plugin lets you create a very quick and dirty user
58database in your application's config hash.
59
02c54a71 60You will need to include the Authentication plugin, and at least one Credential
61plugin to use this Store. Credential::Password is reccommended.
62
07e49bc7 63It's purpose is mainly for testing, and it should probably be replaced by a
64more "serious" store for production.
65
66The hash in the config, as well as the user objects/hashes are freely mutable
67at runtime.
68
02c54a71 69=head1 CONFIGURATION
70
71=over 4
72
73=item users
74
75This is a simple hash of users, the keys are the usenames, and the values are
76hashrefs containing a password key/value pair, and optionally, a roles/list
77of role-names pair. If using roles, you will also need to add the
78Authorization::Roles plugin.
79
80See the SYNOPSIS for an example.
81
51111c81 82=back
83
02c54a71 84=head1 INTERNAL METHODS
07e49bc7 85
86=over 4
87
88=item setup
89
90This method will popultate C<< $c->config->{authentication}{store} >> so that
5435c348 91L<Catalyst::Plugin::Authentication/default_auth_store> can use it.
07e49bc7 92
93=back
94
95=cut
96
97