dimtkg / Magento_CrossAreaSessions

Research module providing a manager for accessing admin sessions from the frontend, and vice/versa.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Magento Cross Area Sessions

Research module providing a manager for accessing adminhtml sessions from the frontend area, and frontend sessions from the adminhtml area.

Can load from file or database session storage, with a simple "drop in" class for other session types. See files in Model/Loader for examples.

Usage

Grabbing adminhtml or frontend session data from either environment.

$adminhtml  = Mage::getModel('pulsestorm_crossareasession/manager')
->getSessionData('adminhtml'); 

$frontend   = Mage::getModel('pulsestorm_crossareasession/manager')
->getSessionData('frontend'); 

var_dump($adminhtml);
var_dump($frontend);

Checking an admin ACL rule from the frontend.

$manager = Mage::getModel('pulsestorm_crossareasession/manager');
$acl = 'system/cache';
if($manager->checkAdminAclRule($acl))
{
    var_dump("Logged in Admin user can access $acl");
}
else
{
    var_dump("Logged in Admin user can NOT access $acl");
}

Additional Storage Engine Support

Right now only the files and db storage types are supported. If you want to use this with Memcache, reddis, etc. you'll to implement your own loader model.

Implementing a loader model is as easy as dropping a new class in the

app/code/community/Pulsestorm/Crossareasession/Model/

folder, named such that is matches the value in the <session_save/> node. For example, <session_save>files</session_save> is Files.php, <session_save>db</session_save> is Db.php, etc.

A loader object should extend the Pulsestorm_Crossareasession_Model_Loader_Abstract class, and implement the single abstract _load method. The _load method should load the raw, serialized session data and return it as a string.

About

Research module providing a manager for accessing admin sessions from the frontend, and vice/versa.

License:MIT License