The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Dancer2::Session::DBI - DBI based session engine for Dancer

VERSION

Version 0.01

SYNOPSIS

This is a more or less faithful port of Dancer::Session::DBI to Dancer2. It implements a session engine by serializing the session and storing it in a database via DBI. The only supported serialization method is JSON.

This was, so far, only tested with PostgreSQL but should in theory work with MySQL and SQLite as well, as we inherit the handling of these databases from the original module.

USAGE

In config.yml

        session: 'DBI'
        engines:
                session:
                        DBI:
                        dsn: "dbi:Pg:dbname=testing;host=127.0.0.1"
                        dbtable: "sessions"
                        dbuser: "user"
                        dbpass: "password"

The table needs to have at least id and a session_data columns.

A timestamp field that updates when a session is updated is recommended, so you can expire sessions server-side as well as client-side.

This session engine will not automagically remove expired sessions on the server, but with a timestamp field as above, you should be able to do it manually.

SEE ALSO

Dancer2, Dancer2::Session, Dancer::Session

ACKNOWLEDGEMENTS

This module is based on Dancer::Session::DBI by James Aitken <jaitken@cpan.org>

LICENSE AND COPYRIGHT

This software is Copyright (c) 2024 by Dennis Lichtenthäler.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)