我创建了一个 magento 扩展。我想实现对扩展的访问。该扩展程序在前端创建一个页面,我只希望管理员访问该页面。所以基本上我需要一些可以检测到管理员是否登录到前端页面的东西。
我尝试了几种解决方案,但似乎都有效。
if(Mage::getSingleton('admin/session', array('name' => 'adminhtml'))->isLoggedIn()) echo 'logged in'; else echo 'not logged in';
Check on frontend if admin is logged in
Mage::getSingleton('core/session', array('name'=>'adminhtml'));
$adminSession = Mage::getSingleton('admin/session');
$adminSession->start();
if ($adminSession->isLoggedIn()) {
echo 'logged in';
}
最佳答案
上面的解决方法都不行!
这是一个有效的解决方案(它不是那么干净!但这将在您的应用程序中的任何地方都可以在 phtml View 或模型或 Controller 或助手中工作!)
$sesId = isset($_COOKIE['adminhtml']) ? $_COOKIE['adminhtml'] : false ;
$session = false;
if($sesId){
$session = Mage::getSingleton('core/resource_session')->read($sesId);
}
$loggedIn = false;
if($session)
{
if(stristr($session,'Mage_Admin_Model_User'))
{
$loggedIn = true;
}
}
var_dump($loggedIn);// this will be true if admin logged in and false if not
关于php - Magento:检测管理员是否登录到前端页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15831156/