[Catalyst] Authentication Store: DBC vs DBIx::Class

Jay K jayk at ion0.com
Tue Jul 17 20:50:28 GMT 2007


Hi Jim,

The DBIx::Class module is kind-of successor to DBIC.  It is much more
flexible in terms of what it allows you to do, and it works with the
new realms functionality of C::P::Authentication.  DBIC doesn't.
DBIx::Class allows more complex specification of the user during
authentication.  For example, you can limit by a users 'status'
field... or you can provide a DBIx::Class::ResultSet search term to
use to find the user... in other words, you are no longer limited to
just the username/password combo to provide authentication.  A glance
at the docs for the module will give you a better idea of what is
possible.

Aside from that, I say 'kind-of successor' because DBIx::Class does
not support Class::DBI and won't.  For Class::DBI - the DBIC module
is the only one that will work, though you will be lacking realms
capability.  I don't know if there is demand for a Class::DBI
compatible module...  if there is, someone will no doubt update the
DBIC module (or create a Class::DBI store)

For all new DBIx::Class-based installations, the DBIx::Class module
is the better choice.  However, since it does not support the old
api, it requires C::P::Authentication 0.10000 or up, and does not
function in 'compatibility' mode.  So switching to it in an older app
requires slight modifications to the application, mainly
configuration changes and swapping out the $c->login calls to use $c-
 >authenticate instead.  In most apps, it's a relatively smooth
transition.

Hope that clears things up,

Jay

On Jul 17, 2007, at 2:02 PM, Jim Spath wrote:

> I was just curious about peoples opinions of
> Catalyst::Plugin::Authentication::Store::DBIC vs
> Catalyst::Plugin::Authentication::Store::DBIx::Class
>
> We use DBIx::Class for our model and the DBIC module for
> authentication currently.
>
> I realize that DBIC allows us to use DBIx::Class or Class:DBI, but
> am wondering if there are any other advantages one module has over
> the other.
>
> Thanks!
>
> --
> Jim Spath
>
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/

---
For most things, throwing yourself at the wall over and over is a
better way to improve than thinking hard about the wall and taking
pictures of it.  -- D.Litwack





More information about the Catalyst mailing list