[Catalyst] Catalyst::Plugin::Authentication w/ multiple stores

Hermida, Leandro Leandro.Hermida at fmi.ch
Fri Dec 22 16:38:10 GMT 2006


Hi everyone,

Does anyone know how to configure Catalyst::Plugin::Authentication with
multiple stores?  The docs are very ambiguous on this and when I follow
them as best I can it doesn't work.  I use C::P::A::Store::LDAP as my
first store and try to authenticate users with that but I would like
Catalyst to also try a secondary store, C::P::A::Store::DBIC, if the
user doesn't exist in the LDAP tree.

Am I misunderstanding C::P::A's feature of being able to use multiple
stores?

In MyApp.pm:

use Catalyst qw/
    -Debug
    ConfigLoader
    Static::Simple
    StackTrace
    Authentication
    Authentication::Store::LDAP
    Authentication::Store::DBIC
    Authentication::Credential::Password
    Authorization::Roles
    Authorization::ACL
    Session
    Session::Store::FastMmap
    Session::State::Cookie
/;

In myapp.yml:

authentication:
    store: Catalyst::Plugin::Authentication::Store::LDAP
    stores:
        ldap: Catalyst::Plugin::Authentication::Store::LDAP
        dbic: Catalyst::Plugin::Authentication::Store::DBIC
    ldap:
        ldap_server: pdc.domain.com
        ldap_server_options:
            version: 3
        binddn: cn=adsearchuser,cn=Users,dc=domain,dc=com
        bindpw: adsearchpassword
        user_basedn: cn=Users,dc=domain,dc=com
        user_scope: sub
        user_filter: (&(objectclass=user)(samaccountname=%s))
        user_field: samaccountname
    dbic:
        user_class: Schema::User
        user_field: username
        password_field: password
        password_type: hashed
        password_hash_type: SHA-1

Is there something incorrect here?

Thanks,

Leandro




More information about the Catalyst mailing list