Hello,
On my high traffic site, I am finding DeleteSession does not always remove
the session cookie or delete session in MySQL.
In my signout, function I call DeleteSession but the sometimes the session
remains.
From init.epl which is called by base.epl.
# function to signout from the session
sub signout {
my ($self, $req) = @_;
my $log = Log::Log4perl->get_logger(__PACKAGE__);
$log->info("***** Delete Session *****");
# Delete session on signout request
$req->DeleteSession;
my %cookies = $self->get_cookies();
if (defined ($cookies{_session_id})){
$log->info("session_id cookie exists:
$cookies{_session_id}");
}
}
BTW, I have also found that assigning to udat does not always create the
session.
Here is my session config.
*PerlModule EmbperlPerlSetEnv EMBPERL_MAILDEBUG 0PerlSetEnv EMBPERL_OPTIONS
262144PerlSetEnv EMBPERL_MAIL_ERRORS_TO "jtappe@gmail.com
<jtappe@gmail.com>"PerlSetEnv EMBPERL_ESCMODE 0PerlSetEnv
EMBPERL_SESSION_CLASSES "MySQL MySQL"PerlSetEnv EMBPERL_SESSION_ARGS
"DataSource=dbi:mysql:expat:localhost UserName=user Password=pass
LockDataSource=dbi:mysql:expat:localhost LockUserName=user
LockPassword=pass recreate_id=1 lazy=1"PerlSetEnv EMBPERL_SESSION_MODE
1PerlSetEnv Embperl_Cookie_Domain expatriates.com
<http://expatriates.com>PerlSetEnv EMBPERL_COOKIE_NAME
_session_idPerlSetEnv EMBPERL_COOKIE_PATH /PerlSetEnv
EMBPERL_COOKIE_EXPIRES +3M*
What am I doing wrong?
Thanks,
Jim
On my high traffic site, I am finding DeleteSession does not always remove
the session cookie or delete session in MySQL.
In my signout, function I call DeleteSession but the sometimes the session
remains.
From init.epl which is called by base.epl.
# function to signout from the session
sub signout {
my ($self, $req) = @_;
my $log = Log::Log4perl->get_logger(__PACKAGE__);
$log->info("***** Delete Session *****");
# Delete session on signout request
$req->DeleteSession;
my %cookies = $self->get_cookies();
if (defined ($cookies{_session_id})){
$log->info("session_id cookie exists:
$cookies{_session_id}");
}
}
BTW, I have also found that assigning to udat does not always create the
session.
Here is my session config.
*PerlModule EmbperlPerlSetEnv EMBPERL_MAILDEBUG 0PerlSetEnv EMBPERL_OPTIONS
262144PerlSetEnv EMBPERL_MAIL_ERRORS_TO "jtappe@gmail.com
<jtappe@gmail.com>"PerlSetEnv EMBPERL_ESCMODE 0PerlSetEnv
EMBPERL_SESSION_CLASSES "MySQL MySQL"PerlSetEnv EMBPERL_SESSION_ARGS
"DataSource=dbi:mysql:expat:localhost UserName=user Password=pass
LockDataSource=dbi:mysql:expat:localhost LockUserName=user
LockPassword=pass recreate_id=1 lazy=1"PerlSetEnv EMBPERL_SESSION_MODE
1PerlSetEnv Embperl_Cookie_Domain expatriates.com
<http://expatriates.com>PerlSetEnv EMBPERL_COOKIE_NAME
_session_idPerlSetEnv EMBPERL_COOKIE_PATH /PerlSetEnv
EMBPERL_COOKIE_EXPIRES +3M*
What am I doing wrong?
Thanks,
Jim