Latest JAS v1.1.0
144 plugins online

Move session management

Currently session management is handled in the default PHP fashion and thus resides on the webserver. To make it more flexible we'll need to support the following alternatives:
  • Database (aka module based)
  • Memcache / Redis
  • File based

Since sessions (both _session and _config) are quite fundamental to the functioning of JAS it seems wise to have as little dependencies on JAS to avoid circular dependencies. That said, replicating the Cache class seems futile as well...

Configuration shouldn't be done in the normal config (as that's a circular dep right there) but rather in the db.conf.php:
$db["_session"]=& $db["default"] ; //DB based
$db["_session"]="memcache:///var/run/memcached/memcached.sock"
$db["_session"]="redis://user:pass/server/"

Note that JAS16JAN002 (Config cache) should probably also be incorporated into this solution. A simple trick would be to add a "default" session that contains all the default settings.
JAS16JAN004
Project
JAS Core (JAS)
Priority
Rank
4
Workflow
Version
Due in version

Updates (3)

Monday 18th of January 2016 at 18:17 :
Issue updated
Tags: Config, Cache, Session => Config, Cache, Session, Memory
Thursday 10th of March 2016 at 11:45 :
Since both Redis and Memache(d) support session manamgement out of the box in PHP this change seems less important. While this doesn't tick all the boxes (e.g. SQL, increased control over sessions) it seems good enough reason to postpone for now.
Thursday 10th of March 2016 at 11:46 :
Issue updated
Description: Currently session management ... => Currently session management ...
Priority: Medium => Low
Due in version: 1.1.0 => 1.3.0

Files (0)

No files