[Catalyst] progressive authentication via db & LDAP
piccard
piccard at web.de
Wed Jan 26 13:48:33 GMT 2011
> 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;-)
More information about the Catalyst
mailing list