---------- Forwarded message ----------
From: chylli <[EMAIL PROTECTED]>
Date: Jun 15, 2007 2:50 AM
Subject: [gmane.comp.web.catalyst.general] a question on
Catalyst::Plugin::Authenticatin
To: [EMAIL PROTECTED]


--

Thanks & Regards

Chylli


---------- Forwarded message ----------
From: chylli <[EMAIL PROTECTED]>
To:
Date: Fri, 15 Jun 2007 09:41:47 +0800
Subject: a question on Catalyst::Plugin::Authenticatin
hi. I use Catalyst::Plugin::Authentication to authenticate my
users. configure is following:
authentication:
   dbic:
       user_class : Db::Users
       user_field : name
       password_field : password
       password_type : clear

use Catalyst qw/    Session
Session::Store::Memcached
Session::State::Cookie
Authentication
Authentication::Store::DBIC
Authentication::Credential::Password
/;

users can keep there login state permanent. But users can change there
username. When they use two different browser, or use two computer to
login, and change his name on one machine, then the other machine will
report an error because $c->user_exists is true but $c->user is a null
value because catalyst can't find that username in db. user can't
visit any page, even can't logoff.

my way to resolve it is , change configure as following:
authentication:
   dbic:
       user_class : Db::Users
       user_field : user_id
       password_field : password
       password_type : clear

#this usename is got from $c->query
my $user = $c->model('Db::User')->single({name => $username});
if($c->login($user->id, $password){.....}.

But I think changing username is a general action to most of
applications. Maybe there are other way to resolve it ? or maybe can
add an configure variable like 'id_field', then change $c->login
method to use that ?


--

Thanks & Regards

Chylli



--
fayland - http://www.fayland.org

_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to