Apache::AppSamurai::Session - Apache::AppSamurai wrapper for Apache::Session


Apache-AppSamurai documentation  | view source Contained in the Apache-AppSamurai distribution.

Index


NAME

Top

Apache::AppSamurai::Session - Apache::AppSamurai wrapper for Apache::Session

SYNOPSIS

Top

 use Apache::AppSamurai::Session;

 # Equivalent to Apache::Session::Flex use:

 tie %hash, 'Apache::AppSamurai::Session', $id, {
    Store     => 'DB_File',
    Lock      => 'Null',
    Generate  => 'MD5',
    Serialize => 'Storable'
 };

 # Postgress backend with AppSamurai HMAC-SHA265 generator and
 # AES (Rijndael) encrypting serializer.

 tie %hash, 'Apache::AppSamurai::Session', $id, {
    Store     => 'Postgress',
    Lock      => 'Null',
    Generate  => 'AppSamurai/HMAC_SHA',
    Serialize => 'AppSamurai/CryptBase64'
 };

 # Wacky setup with imaginary Thinger::Thing::File storage module
 # and very real Apache::AppSamurai::Session::Serialize::CryptBase64
 # serializer.  (This shows the alternate module syntaxes.)

 tie %hash 'Apache::AppSamurai::Session', $id, {
    Store     => 'Thinger::Thing::File',
    Lock      => 'Null',
    Generate  => 'Ranom::Garbage',
    Serialize => 'AppSamurai/CryptBase64'
 };

 # you decide!

DESCRIPTION

Top

This module is a overload of Apache::Session which allows you to specify the backing store, locking scheme, ID generator, and data serializer at runtime. You do this by passing arguments in the usual Apache::Session style (see SYNOPSIS). You may use any of the modules included in this distribution, or a module of your own making.

In addition to the standard Apache::Session setup, this module allows for using modules from within of the Apache::AppSamurai::Session tree by prefixing with AppSamurai/, or using any visible Perl module by supplying its full module name. (Whatever the module, it still must meet standard Apache::Session interface functionality.)

USAGE

Top

You pass the modules you want to use as arguments to the constructor. There are three ways to point to a module:

1)

Specify the Apache::Session name. For instance, for Apache::Session::Storage::File (Apache::Session::Storage::File), you would use:

    Store => 'File'

2)

Specify a name under the Apache::AppSamurai::Session tree. For instance, for Apache::AppSamurai::Session::Serialize::CryptBase64, you would use:

    Serialize => 'AppSamurai/CryptBase64'

3)

Specify the full Perl module name. For instance, for Junk::Thing::Monster to be the session generator:

    Generate => 'Junk::Thing::Monster'

In addition to the arguments needed by this module, you must provide whatever arguments are expected by the backing store and lock manager that you are using. Please see the documentation for those modules, and Apache::Session for more general session storage information.

SEE ALSO

Top

Apache::AppSamurai, Apache::Session

AUTHOR

Top

Paul M. Hirsch, <paul at voltagenoir.org>

BUGS

Top

See Apache::AppSamurai for information on bug submission and tracking.

SUPPORT

Top

See Apache::AppSamurai for support information.

ACKNOWLEDGEMENTS

Top

This module is based partially on code written by Jeffrey William Baker <jwbaker@acm.org> and the Apache::Session authors.

COPYRIGHT & LICENSE

Top


Apache-AppSamurai documentation  | view source Contained in the Apache-AppSamurai distribution.