[Catalyst] change_session_id

Duncan Garland Duncan.Garland at motortrak.com
Thu Oct 17 09:05:41 GMT 2013


Hi,

Is there a trick to using change_session_id to change the session id on a s=
uccessful logon?

It seems to correctly change everything. You can successfully print the old=
 session id and the new session id, and view the contents of the new sessio=
n. However, DBIC trips up when writing the final session data. It tries to =
use the old session id.

DELETE FROM mbfl2_sessions WHERE ( id =3D ? ): 'session:bc58aff5ce5e8ba3a90=
402c0b57a9d5bcba8b532'
DELETE FROM mbfl2_sessions WHERE ( id =3D ? ): 'flash:bc58aff5ce5e8ba3a9040=
2c0b57a9d5bcba8b532'
UPDATE mbfl2_sessions SET expires =3D ?, session_data =3D ? WHERE ( id =3D =
? ): '1382007089', 'BQgDAAAACwoHZGVmYXVsdAAAAAxfX3VzZXJfcmVhbG0IfwAAAAhub19=
jb3VudAoRMjY4NTk5XzEz
ODE5OTk4NzEAAAANdGVtcF9xdW90ZV9pZAQDAAAAAAAAAApqYXZhc2NyaXB0BAMAAAAKBAMAAAAB
CgdaNDI5MzkzAAAAFXJlZ2lzdGVydXNlci9yZWdpc3RlcgAAAB9tYmZsMjo6Q29udHJvbGxlcjo6
UmVnaXN0ZXJVc2VyBAMAAAABCgdaOTM2NjM1AAAAFWRpYWdub3N0aWNzL3Nob3dfZm9ybQAAAB5t
YmZsMjo6Q29udHJvbGxlcjo6RGlhZ25vc3RpY3MEAwAAAAEKB1oxMTM1ODgAAAAMbG9naW4vaW5k
ZXh4AAAAGG1iZmwyOjpDb250cm9sbGVyOjpMb2dpbgQDAAAAAwoHWjM3MTg1OQAAABFkZWFsZXIv
Y29udGFjdF91cwoHWjA3NjA1OAAAABlkZWFsZXIvb2ZmaWNpYWxfd29ya3Nob3BzCgdaODU5ODEw
AAAAFmRlYWxlci9zZXJ2aWNlX29wdGlvbnMAAAAZbWJmbDI6OkNvbnRyb2xsZXI6OkRlYWxlcgQD
AAAAAgoHWjE3NDE4NQAAAAZpbmRleHgKB1oyMDQ1MjAAAAAEaG9tZQAAABdtYmZsMjo6Q29udHJv
bGxlcjo6Um9vdAQDAAAAAQoHWjM2MjcyMQAAABRubHB2ZWhpY2xlL2NhbGN1bGF0ZQAAAB1tYmZs
Mjo6Q29udHJvbGxlcjo6TmxwVmVoaWNsZQQDAAAAAQoHWjc0MzU4MgAAABNyZWZyZXNoZGF0YS9y
ZWZyZXNoAAAAHm1iZmwyOjpDb250cm9sbGVyOjpSZWZyZXNoRGF0YQQDAAAAAgoHWjY4MDgwNwAA
ABpqYXZhc2NyaXB0L2dlbmVyYWxfd2l0aF9pZAoHWjE5MTQ2OQAAABFqYXZhc2NyaXB0L3NpZ25p
bgAAAB1tYmZsMjo6Q29udHJvbGxlcjo6SmF2YXNjcmlwdAQDAAAAAQoHWjg4Mjc4MQAAABlsYW5k
aW5ncGFnZS9sYW5kaW5nX3BhZ2UyAAAAHm1iZmwyOjpDb250cm9sbGVyOjpMYW5kaW5nUGFnZQQD
AAAABAoHWjA1MjQ1NQAAAAxubHAvcmVtaW5kZXIKB1oyMTc4NjYAAAAKbmxwL3NpZ25pbgoHWjgz
MTY4NgAAAA1ubHAvZ2V0X3ZhbHVlCgdaNjAwMDYxAAAADW5scC9zZXRfdmFsdWUAAAAWbWJmbDI6
OkNvbnRyb2xsZXI6Ok5scAAAAAtjc3JmX3Rva2VucwUAAAATcGFzc3dvcmRfaXNfaW52YWxpZAoK
MTM4MTk5OTg4OQAAAAlfX3VwZGF0ZWQEAwAAAAMKCDExNjE4MDc4AAAAC3RyYWNraW5nX2lkBAIA
AAABBAMAAAACChEyNjg1OTlfMTM4MTk5OTg3MQAAAAV2YWx1ZQoNdGVtcF9xdW90ZV9pZAAAAAtn
bG9iYWxfbmFtZQAAAAdnbG9iYWxzChEyNjg1OTlfMTM4MTk5OTg3MQAAAA10ZW1wX3F1b3RlX2lk
AAAACnRlbXBfcXVvdGUKCjEzODE5OTk4NzEAAAAJX19jcmVhdGVkBQAAACFpbmRpdmlkdWFsX2Rl
YWxlcl9ncm91cF9wYXJhbWV0ZXIEAwAAABkKAUEAAAAGc3RhdHVzCgVBZG1pbgAAAAhmb3JlbmFt
ZQoTMjAxMC0xMi0wMiAxMToyMDo1MgAAAAxkYXRlX2NyZWF0ZWQFAAAABGhlYXIFAAAACWRhc2hf
b25seQodZHVuY2FuLmdhcmxhbmRAbW90b3J0cmFrMi5jb20AAAAFZW1haWwFAAAAC25vdGJ5X3Bo
b25lCitlckVGR1J4QVRhSE1XQWpwZEg5bTVjczYxdEZGTGZoNkpVZXJ5NjRpMnZvAAAACHBhc3N3
b3JkCgMxMjEAAAACaWQFAAAAD2FkcF9jdXN0b21lcl9pZAoBTgAAAAdpc19wb29sBQAAAApub3Ri
eV9wb3N0CgMxMjEAAAAKY2hhbmdlZF9ieQoTMjAxMy0xMC0xNCAxMzoxMTo1MwAAAAxkYXRlX3Vw
ZGF0ZWQFAAAAC25vdGJ5X2VtYWlsCgFZAAAAD2p1c3RfY2hhbmdlZF95bgoFYWRtaW4AAAAIdXNl
cm5hbWUKBUFkbWluAAAAB3N1cm5hbWUKAU4AAAAKZGVsZXRlZF95bgUAAAASYWRwX3N0YXR1c19t
ZXNzYWdlCgExAAAAEWhhc19oYXNoX3Bhc3N3b3JkBQAAAAlub3RieV9zbXMKAVkAAAAWYWRwX2N1
c3RvbWVyX3RlbXBfZmxhZwoCTXIAAAAFdGl0bGUKAVMAAAAEdHlwZQAAAAZfX3VzZXI=3D
', 'session:bc58aff5ce5e8ba3a90402c0b57a9d5bcba8b532'
[17/Oct/2013:09:51:29] ERROR Catalyst::__ANON__ 1968 - Caught exception in =
engine "Can't update mbfl2::Model::DB::Mbfl2Session=3DHASH(0xb6f6948): row =
not found at /usr/share/perl5/DBIx/Class/Schema.pm line 1088
        DBIx::Class::Schema::throw_exception('MBFL2SCHEMA=3DHASH(0x9ba66c0)=
', 'Can\'t update mbfl2::Model::DB::Mbfl2Session=3DHASH(0xb6f6948):...') ca=
lled at /usr/share/perl5/DBIx/Class/ResultSource.pm line 1982
        DBIx::Class::ResultSource::throw_exception('DBIx::Class::ResultSour=
ce::Table=3DHASH(0x9cade90)', 'Can\'t update mbfl2::Model::DB::Mbfl2Session=
=3DHASH(0xb6f6948):...') called at /usr/share/perl5/DBIx/Class/Row.pm line =
1460
        DBIx::Class::Row::throw_exception('mbfl2::Model::DB::Mbfl2Session=
=3DHASH(0xb6f6948)', 'Can\'t update mbfl2::Model::DB::Mbfl2Session=3DHASH(0=
xb6f6948):...') called at /usr/share/perl5/DBIx/Class/Row.pm line 506
Is there something I need to set immediately after calling change_session_i=
d?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20131017/c7f1b=
5da/attachment.htm


More information about the Catalyst mailing list