From: "Nathan Kurz" <[EMAIL PROTECTED]>

> The problem I'm having is forcing a login
> for a newly created user that has neither an email address (my
> user_field) nor a password.

Hmm, I can't get it to work, either. Reading the code has only confused me.

Credential/Password.pm has:

    $c->set_authenticated($user);
    $c->log->debug("Successfully authenticated user '$user'.")
      if $c->debug;

The log entry shows $user to be the 'login' field passed, in my case an email.

The only set_authenticated() method I see in the Catalyst/ tree is in 
Authentication.pm, which says:

    if (    $c->isa("Catalyst::Plugin::Session")
        and $c->config->{authentication}{use_session}
        and $user->supports("session") )
    {
        $c->save_user_in_session($user);
    }

If the $user getting passed is a string (email address), then 
$user->supports(...) won't work, but clearly it does something. When I call 
set_authenticated() with a string, I get a perl error about needing a package 
or object. When I pass a Model::User object, I get errors about undefined 
subroutine for the object.

There has to be a way to do this. That, or there needs to be. It seems 
completely reasonable that somebody would want to authenticate based on their 
own logic once in a while.


---
Rodney Broom


_______________________________________________
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