You set it in the config, you implement a check_password method in your user object (which goes and checks the password from LDAP), you're done.


For anybody who is working on the same problem, this solution worked 4 me:

+ set the extended classin the config via the store_user_class-key

                credential => {
                        class => 'Password',
                        password_type => 'self_check',
                        password_field => 'user_password'
                },
                store => {
                        class           => 'DBIx::Class',
                        user_model      => 'DB::User',
store_user_class =>'DW::Authentication::Store::DBIx::Class::User',
                        role_relation => 'roles',
                        role_field => 'role_category',
                        use_userdata_from_session => '1'
                },

+ the new class which includes the new check_password-method (i.e. authenticate via LDAP but use the roles inside the DB)

package DW::Authentication::Store::DBIx::Class::User;

use strict;
use warnings;

use Moose;
use MooseX::NonMoose;
use namespace::autoclean;
extends qw/Catalyst::Authentication::Store::DBIx::Class::User/;

sub check_password {
    my ( $self, $password ) = @_;

   # i.e. LDAP-auth

    return 1;

}


__PACKAGE__->meta->make_immutable;
1;



 ... thanx 2 t0m;-)

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

Reply via email to