On Oct 23, 2016, at 14:55, Hector Azpurua <h3ct0r...@gmail.com> wrote: > Is there a recommended way to access or modify session data stored in > database with Store::DBI ?
The session data is typically a hashref of data, serialized using Storable, and converted to Base64 for storage in the database. Look at the get_session_data() and store_session_data() in Catalyst::Plugin::Session::Store::DBI to see how the data is retrieved and stored: https://metacpan.org/source/Catalyst::Plugin::Session::Store::DBI#L24 You can do the same thing. From code outside Catalyst you can use DBI or DBIx::Class or whatever to SELECT the data from the database, decode/thaw it, work with it however you'd like, then freeze/encode it and UPDATE the db record. You'll probably want to wrap that in a transaction. A separate problem is that the session data is keyed on the session id, not the username, so you won't be able to directly SELECT the session data for a particular username. You'd need to select and examine each session to find the username in $session_data->{'__user'}. Or maybe create a subclass of Catalyst::Plugin::Session::Store::DBI and store the username as a separate column in the sessions table. I have no idea how difficult that would be, but I bet it's manageable. -A _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/