[Catalyst] Catalyst and LDAP with sessions

Peter Karman peter at peknet.com
Sat Feb 25 02:41:52 GMT 2012

Birger Burkhardt wrote on 2/24/12 7:22 AM:

> After successful authentication, all further request
> should be executed via the credentials of the logged in user.

are you somehow storing those credentials so that they persist over the life of
the session? The LDAP authn plugin does not do that for you, afaik. The
credentials exist only for the life of that particular login HTTP request.

or maybe I'm misunderstanding what you're trying to do?

> In the login controller the user is authenticated
> [...]
>         # Get the username and password from form
>         my $username =3D $c->request->params->{username};
>         my $password =3D $c->request->params->{password};
>         # If the username and password values were found in form
>         if ($username && $password) {
>             # Attempt to log the user in
>             if ($c->authenticate({ username =3D> $username,
>                                    password =3D> $password })) {
> [...]
> But when I do a new request from within another controller, i get an ldap
> error meaning the credentials are invalid:
> code in other controller:
> [...]
>     my $ldapconn =3D $c->user->ldap_connection();
>     my $mesg =3D $ldapconn->search(     base =3D> "ou=3Dusers,dc=3Dexample,=
> dc=3Dcom",
> filter =3D> "(uid=3D*)");
>     my @entries =3D $mesg->sorted('uid');
>     $c->stash(users =3D> \@entries,);
>     $c->stash(template =3D> 'userList.tt2');
> [...]

Peter Karman  .  http://peknet.com/  .  peter at peknet.com

More information about the Catalyst mailing list