[Catalyst] Problems with authentication (LDAP and Minimal)

user01 user01 at kyberwelt.de
Tue Jun 4 12:37:15 GMT 2013


Hello all

I am new to catalyst and after toying around with the examples in
Catalyst::Tutorial i started my own project with this framework. But the
first step, trying authentication against an LDAP server, already gave me
headaches.
The tutorial uses this configuration:

__PACKAGE__->config(
    'Plugin::Authentication' => {
       default => {
           class           => 'SimpleDB',
           user_model      => 'DB::User',
           password_type   => 'self_check',
       },
    },
);

which (as i do understand) uses a registered datamodel. OTOH the manpages for
other authentication Methods such as "Catalyst::Authentication::Store::LDAP"
are using a configuration splitting things up into credetial-verification
and storage-config if i am getting this right. There is nowhere an remark
about having this datastore somehow registered as model. FE:

__PACKAGE__->config(
  'authentication' => {
     default_realm => "ldap",
     realms => {
       ldap => {
         credential => {
           class => "Password",
           etc etc ...
         },
         store => {
           class => "LDAP",
           binddn => "a=DN, b=to, c=bind, d=with",
           bindpw => "supersecret!",
           etc etc ...
}}}});

But using this in MyApp just gives me the error "Could not find
authentication realm 'default'". Of course i tried renaming the realm to
"default" :)
Even using the "Minimal" authentication example:

__PACKAGE__->config(
    'Plugin::Authentication' => {
        default => {
                credentials => {
                    class => 'Password',
                    password_field => 'password',
                    password_type => 'clear'
                },
                store => {
                    class => 'Minimal',
                    users => {
                        test1 => {
                            password => 'test1',
                            roles => [qw/edit delete/],
                            
                        },
                        test2 => {
                            password => 'test2',
                            roles => [qw/edit/],
},},},},},);

just emits the same error with the MyApp example from the tutorial.

And indeed i can only find "Compatibility" "Progressive" and "SimpleDB" as
realms under Catalyst::Authentication::Realms. No "Password" or other types
of realms.

The "use Catalyst qw//" in MyApp.pm looks like this:
use Catalyst qw/
    -Debug
    ConfigLoader
    Static::Simple

    Authentication
    Authentication::Store::Minimal

    Session
    Session::Store::File
    Session::State::Cookie

    StatusMessage
/;

Other config-statements in MyApp.pm (from the tutorial) are untouched.

So how are the examples under Catalyst::Authentication::Store::LDAP and
C::A::S::Minimal supposed to work? Apparently this concept with mapping the
realm-identifier under C::A::Realms is not used in this type of config with
"credentials" and "store".

As i am new to Catalyst, i need to know which other Information you would need.
My installation is fresh via CPAN as of 06.2013.
[Core Features]
- Test::More                                     ...loaded. (0.98 >= 0.88)
- Catalyst::Runtime                              ...loaded. (5.90030 >= 5.90002)
- Catalyst::Plugin::ConfigLoader                 ...loaded. (0.32)
- Catalyst::Plugin::Static::Simple               ...loaded. (0.30)
- Catalyst::Action::RenderView                   ...loaded. (0.16)
- Moose                                          ...loaded. (2.0802)
- namespace::autoclean                           ...loaded. (0.13)
- Config::General                                ...loaded. (2.51)
- Catalyst::Plugin::Authentication               ...loaded. (0.10023)
- Catalyst::Plugin::Session                      ...loaded. (0.37)
- Catalyst::Plugin::Session::Store::File         ...loaded. (0.18)
- Catalyst::Plugin::Session::State::Cookie       ...loaded. (0.17)
- Catalyst::Plugin::StatusMessage                ...loaded. (1.002000)
- Catalyst::Authentication::Store::LDAP          ...loaded. (1.014)
- Catalyst::Authentication::Store::Minimal       ...loaded. (undef)
- Catalyst::Authentication::Credential::Password ...loaded. (undef)

Regards
virtual



More information about the Catalyst mailing list