Egg::Model::Auth::Bind::Cookie - AUTH component that treats session ID.


Egg-Release-Authorize documentation Contained in the Egg-Release-Authorize distribution.

Index


Code Index:

NAME

Top

Egg::Model::Auth::Bind::Cookie - AUTH component that treats session ID.

SYNOPSIS

Top

  package MyApp::Model::Auth::MyAuth;
  ..........

  __PACKAGE__->config(
    cookie => {
      name    => 'auth_session',
      path    => '/',
      domain  => 'mydomain.name',
      expires => '+1d',
      secure  => 1,
      },
    );

  __PACKAGE__->setup_session( FileCache => qw/ Bind::Cookie / );

DESCRIPTION

Top

It relates by Cookie with the client of session ID.

'Bind::Cookie' is included in the list following the session name that adds the setting of 'cookie' to the configuration to use it and sets it by 'setup_session' method.

   __PACKAGE__->setup_session( FileCache => qw/ Bind::Cookie / );

It is not significant with the session module that doesn't need Bind system component even if it uses it. Please note the return and becoming an unhappy rate.

The content of 'cookie' set by the configuration is a parameter passed to 'cookie' method of Egg::Response.

METHODS

Top

SEE ALSO

Top

Egg::Release, Egg::Model::Auth, Egg::Model::Auth::Session::FileCache, Egg::Response,

AUTHOR

Top

Masatoshi Mizuno <lushe&64;cpan.org>

COPYRIGHT AND LICENSE

Top


Egg-Release-Authorize documentation Contained in the Egg-Release-Authorize distribution.

package Egg::Model::Auth::Bind::Cookie;
#
# Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt>
#
# $Id: Cookie.pm 348 2008-06-14 19:02:44Z lushe $
#
use strict;
use warnings;
use Carp qw/ croak /;

our $VERSION= '0.01';

sub _setup {
	my($class, $e)= @_;
	my $c= $class->config->{cookie} ||= {};
	$c->{name}    ||= 'as';
	$c->{path}    ||= '/';
	$c->{expires} ||= '+1d';
	$class->next::method($e);
}
sub get_bind_id {
	my $self= shift;
	my $name= shift || $self->config->{cookie}{name};
	$self->e->request->cookie_value($name) || (undef);
}
sub set_bind_id {
	my $self = shift;
	my $value= shift || "";
	my %option= $_[0] ? (ref($_[0]) eq 'HASH' ? %{$_[0]}: @_)
	                  : %{$self->config->{cookie}};
	$self->e->response->cookie(
	  ($option{name} || $self->config->{cookie}{name}) =>
	       { %option, value=> $value }
	  );
}
sub remove_bind_id {
	my $self  = shift;
	my $option= $_[0] ? ($_[1] ? {@_}: $_[0]): $self->config->{cookie};
	$self->set_bind_id("", { %$option, expires=> '-1d' });
}

1;

__END__