| Egg-Plugin-SessionKit documentation | Contained in the Egg-Plugin-SessionKit distribution. |
Egg::Model::Session::ID::UUID - Data::UUID is used for session ID.
package MyApp::Model::Sesion; __PACKAGE__->startup( ..... ID::UUID );
It is a component module to use the HEX value obtained with Data::UUID> for session ID.
'id_length' is accepted to the configuration.
__PACKAGE__->config(
id_length => 32,
);
It becomes 32 at the unspecification.
The value obtained by 'create_str' function of Data::UUID is returned.
The format of SESSION_ID is checked and the result is returned.
Masatoshi Mizuno <lushe&64;cpan.org>
Copyright (C) 2008 Bee Flag, Corp. <http://egg.bomcity.com/>, All Rights Reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
| Egg-Plugin-SessionKit documentation | Contained in the Egg-Plugin-SessionKit distribution. |
package Egg::Model::Session::ID::UUID; # # Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt> # # $Id: UUID.pm 256 2008-02-14 21:07:38Z lushe $ # use strict; use warnings; use Carp qw/ croak /; use Data::UUID; our $VERSION= '0.01'; sub _setup { my($class, $e)= @_; $class->config->{id_length} ||= 32; $class->next::method($e); } sub make_session_id { substr( Data::UUID->new->create_str(), 0, $_[0]->config->{id_length}, ); } sub valid_session_id { my $self= shift; my $id= shift || croak q{I want session id.}; my $len= $self->config->{id_length}; $id=~m{^[A-F0-9\-]{$len}$} ? $id: (undef); } 1; __END__