[Catalyst] DBIC Authentication Errors

Greg Coates gcoates at csuchico.edu
Wed Sep 24 22:52:03 BST 2008


I'm getting errors when I try to login to my web app, which is set up to 
use the DBIC authentication plugin.



Here's the relevant portion of my config file:

authentication:
   default_realm: dbic
   realms:
     dbic:
       credential:
         class: Password
         password_field: usr_password
         password_type: clear
       store:
         class: DBIx::Class
         user_class: BlogDB::Users
         id_field: usr_login_name



When I start the dev server, I see this:
[debug] Loaded Config "/path/to/my/config/dev.yml"
[debug] Setting up auth realm dbic



Here's the login controller:

sub login : Local {
   my ($self, $c) = @_;

   if ($c->request->params->{submitted} eq 'yes') {
     my $username = $c->request->params->{usr_login_name} || "";
     my $password = $c->request->params->{usr_password} || "";
     if ($c->authenticate({ username => $username,
                            password => $password })) {
       $c->response->redirect( $c->uri_for('/posts') );
       return;
     } else {
       $c->stash->{message} = "Invalid user ID or password.";
     }
   }

   $c->stash->{template} = 'users/login.tt';
   $c->stash->{stylesheet} = 'form.css';
}


The login form displays fine, but when I try to log in using a 
uid/password combo that IS in the database, I get this error:

[debug] "POST" request for "users/login"
[debug] Path is "users/login"
[error] Caught exception in MyApp::Controller::Users->login "User 
retrieval failed: no columns from BlogDB::Users were provided at 
/usr/lib/perl5/site_perl/5.8.5/Catalyst/Authentication/Store/DBIx/Class.pm 
line 63"


I've googled for solutions until my fingertips are numb with no luck.  I 
suspect there's some stupid little problem that I'm missing.  Can anyone 
shed some light on this issue for me?

Thanks,
Greg



More information about the Catalyst mailing list