Dancer::Session::DBIC - DBIx::Class session engine for Dancer
0.004
This module implements a session engine for Dancer by serializing the session, and storing it in a database via DBIx::Class. The default serialization method is JSON, though one can specify any serialization format you want. YAML and Storable are viable alternatives.
JSON was chosen as the default serialization format, as it is fast, terse, and portable.
Example configuration:
session: "DBIC" session_options: dsn: "DBI:mysql:database=testing;host=127.0.0.1;port=3306" # DBI Data Source Name schema_class: "Interchange6::Schema" # DBIx::Class schema user: "user" # Username used to connect to the database pass: "password" # Password to connect to the database resultset: "MySession" # DBIx::Class resultset, defaults to Session id_column: "my_session_id" # defaults to sessions_id data_column: "my_session_data" # defaults to session_data
In conjunction with Dancer::Plugin::DBIC, you can simply use the schema object provided by this plugin in your application:
set session_options => {schema => schema};
Custom serializer / deserializer can be specified as follows:
set 'session_options' => { schema => schema, serializer => sub { YAML::Dump(@_); }, deserializer => sub { YAML::Load(@_); }, };
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 to do this manually.
Creates a new session. Returns the session object.
Write the session to the database. Returns the session object.
Look for a session with the given id.
Returns the session object if found, undef if not. Logs a debug-level warning if the session was found, but could not be deserialized.
undef
Remove the current session object from the database.
Dancer, Dancer::Session
Stefan Hornburg (Racke) <racke@linuxia.de>
Based on code from Dancer::Session::DBI written by James Aitken and code from Dancer::Plugin::DBIC written by Naveed Massjouni.
This software is copyright (c) Stefan Hornburg.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dancer::Session::DBIC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dancer::Session::DBIC
CPAN shell
perl -MCPAN -e shell install Dancer::Session::DBIC
For more information on module installation, please visit the detailed CPAN module installation guide.