[Catalyst] ANNOUNCE: SimpleDB - Auth configuration made easy

Zbigniew Lukasiak zzbbyy at gmail.com
Mon Oct 27 13:24:14 GMT 2008


Hi,

I've looked at the documentation:

The SimpleDB Realm class configures the Catalyst authentication system
based on the following:

    * Your user data is stored in a table that is accessible via
$c->model('User');
    * Your passwords are stored in the 'password' field in your users
table and are not encrypted.
    * Your roles for users are stored in a separate table and are
directly accessible via a DBIx::Class relationship called 'roles' and
the text of the role is stored in a field called 'role' within the
role table.
    * Your user information is stored in the session once the user is
authenticated.

For the above usage, only one configuration option is necessary,
'user_class'. user_class should contain the class name of your user
class. See the "PREPARATION" section for info on how to set up your
database for use with this module.

There seems to be some mismatch there - in the first point above you
mention that there is a default user class - 'User' - but then you say
that user_class is a required config option.  Or maybe I am mistaken?
It is not clear what really the first point above means.

Another question - have you thought about using
http://search.cpan.org/~groditi/DBIx-Class-EncodedColumn-0.00002/lib/DBIx/Class/EncodedColumn.pm
(or the older DigestColumn) to simplify the interface?

Cheers,
Zbigniew

On Mon, Oct 27, 2008 at 1:36 AM, Jason Kuri <jayk at ion0.com> wrote:
> Hey all,
>
> Catalyst authentication configuration just got a whole lot easier.
>
> I just released two updates to CPAN that will make Auth configuration
> much much easier for the 'average' case where you have user data
> stored in an SQL database and you are using passwords for
> authentication.
>
> Now, the 'basic' config using plaintext passwords looks like this:
>
>    __PACKAGE__->config->{'Plugin::Authentication'} =
>        {
>            default => {
>                class => 'SimpleDB',
>                user_class => 'MyApp::User',
>            }
>        }
>
> For the 'basic' config using a hashed password - just a bit more
> complex:
>
>    __PACKAGE__->config->{'Plugin::Authentication'} =
>        {
>            default => {
>                class => 'SimpleDB',
>                user_class => 'MyApp::User',
>                password_type => 'hashed',
>                password_hash_type => 'SHA1'
>            }
>        }
>
> Hopefully, people will not find this config overwhelming. :-)
>
> For those who are interested, the custom configuration is accomplished
> by using a custom Realm, SimpleDB, which is part of the most recent
> Catalyst::Authentication::Store::DBIx::Class dist.   A lot of
> flexibility can be gained in configuration and functionality by
> creating custom Realms.  This is just one example.
>
> The modules are available (or will be soon) at:
>
> http://search.cpan.org/~jayk/Catalyst-Authentication-Store-DBIx-Class-0.108/lib/Catalyst/Authentication/Realm/SimpleDB.pm
>
> ( A preview of the docs are available here:  http://scsys.co.uk:8001/19881
>  )
>
> and
>
> http://search.cpan.org/~jayk/Catalyst-Plugin-Authentication-0.10008/
>
> If anyone has any questions or comments, please reply to this email,
> or find me on #catalyst.
>
> I am also soliciting anyone who is willing to take a crack at
> simplifying the Auth section of the Catalyst tutorial by using this
> module, as I think most users are looking to do exactly this type of
> config when they first approach Catalyst and are reading the
> Tutorial.  Any volunteers?
>
> JayK
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



-- 
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
http://perlalchemy.blogspot.com/



More information about the Catalyst mailing list