This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Sat Nov 07 13:23:06 -0800 2009 | |
| |
Changes | Sat Nov 14 08:30:05 -0800 2009 | |
| |
MANIFEST.SKIP | Sat Nov 14 08:31:07 -0800 2009 | |
| |
Makefile.PL | Wed Nov 18 01:20:53 -0800 2009 | |
| |
README | Sat Nov 07 13:17:30 -0800 2009 | |
| |
lib/ | Sat Nov 14 08:30:05 -0800 2009 | |
| |
t/ | Tue Oct 20 09:30:26 -0700 2009 |
README
NAME
CatalystX::SimpleLogin - Provide a simple Login controller which can be
reused
SYNOPSIS
package MyApp;
use Moose;
use namespace::autoclean;
use Catalyst qw/
+CatalystX::SimpleLogin
Authentication
Session
Session::State::Cookie
Session::Store::File
/;
extends 'Catalyst';
__PACKAGE__->config(
'Plugin::Authentication' => { # Auth config here }
);
__PACKAGE__->config(
'Controller::Login' => { # SimpleLogin config here }
);
__PACKAGE__->setup;
DESCRIPTION
CatalystX::SimpleLogin is an application class Moose::Role which will
inject a Catalyst::Controller which is an instance of
CatalystX::SimpleLogin::Controller::Login into your application. This
provides a simple login and logout page with the adition of only one
line of code and one template to your application.
REQUIREMENTS
A Catalyst application
Working authentication configuration
Working session configuration
A view
CUSTOMISATION
CatalystX::SimpleLogin is a prototype for CatalystX::Elements. As such,
one of the goals is to make it easy for users to customise the provided
component to the maximum degree possible, and also, to have a linear
relationship between effort invested and level of customisation
achieved.
Three traits are shipped with SimpleLogin: WithRedirect, Logout, and
RenderAsTTTemplate. These traits are set in the config:
__PACKAGE__->config(
'Controller::Login' => {
traits => ['Logout', 'WithRedirect', 'RenderAsTTTemplate'],
login_form_args => { # see the login form },
);
COMPONENTS
* CatalystX::SimpleLogin::Controller::Login - first point of call for
customisation. Override the action configs to reconfigure the paths
of the login or logout actions. Subclass to be able to apply method
modifiers to run before / after the login or logout actions or
override methods.
* CatalystX::SimpleLogin::TraitFor::Controller::Logout - provides the
"logout" action and associated methods. You can compose this
manually yourself if you want just that action.
This trait is set by default, but if you set another trait in your
config, you will have to include it.
FIXME - Get trait merging working..
* CatalystX::SimpleLogin::TraitFor::Controller::Login::WithRedirect -
provides the "login" action with a wrapper to redirect to a page
which needs authentication, from which the user was previously
redirected. Goes hand in hand with Catalyst::ActionRole::NeedsLogin
* CatalystX::SimpleLogin::TraitFor::Controller::Login::RenderAsTTTempl
ate - sets the stash variable 'template' to point to a string
reference containing the rendered template so that it's not
necessary to have a login.tt template file.
* CatalystX::SimpleLogin::Form::Login - the HTML::FormHandler form for
the login form.
* Catalyst::ActionRole::NeedsLogin - Used to cause a specific path to
redirect to the login page if a user is not authenticated.
TODO
Here's a list of what I think needs working on, in no particular order.
Please feel free to add to or re-arrange this list :)
Fix extension documentation
Document all this stuff.
Examples of use / customisation in documentation
Fixing one uninitialized value warning in LoginRedirect
Disable the use of NeedsLogin ActionRole when WithRedirect is not loaded
SOURCE CODE
http://github.com/bobtfish/catalystx-simplelogin/tree/master
git://github.com/bobtfish/catalystx-simplelogin.git
Forks and patches are welcome. #formhandler or #catalyst (irc.perl.org)
are both good places to ask about using or developing this code.
SEE ALSO
* Catalyst
* Moose and Moose::Role
* MooseX::MethodAttributes::Role - Actions compsed from Moose::Role.
* CatalystX::InjectComponent - Injects the controller class
* HTML::FormHandler - Generates the login form
* Catalyst::Plugin::Authentication - Responsible for the actual heavy
lifting of authenticating the user
* Catalyst::Plugin::Session
* Catalyst::Controller::ActionRole - Allows you to decorate actions
with roles (E.g Catalyst::ActionRole::NeedsLogin)
* CatalystX::Component::Traits - Allows Moose::Role to be composed
onto components from config
AUTHORS
Tomas Doran (t0m) "<bobtfish@bobtfish.net>"
Zbigniew Lukasiak
Stephan Jauernick (stephan48) "<stephan@stejau.de>"
Gerda Shank (gshank) "gshank@cpan.org"
Florian Ragwitz "rafl@debian.org"
LICENSE
Copyright 2009 Tomas Doran. Some rights reserved.
This sofware is free software, and is licensed under the same terms as
perl itself.







