php - Magento:检测管理员是否登录到前端页面

标签 php magento magento-1.7 administration

我创建了一个 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/

相关文章:

javascript - Magento 创建自定义职业表单并从 CMS 页面调用

注销后 Magento 重定向

php - 扩展模型未加载

php - SELECT 查询是否有可能在 Joomla DB 中插入数据?

php - "Cannot set session ID after the session has started."测试表单时

php - 数组循环问题

api - Magento Soap 错误 - 标签定义第 2 行中的数据过早结束

magento - 在magento中添加一个新的属性来订购

php - 为什么 Magento 在保存类别后只保留类别中的前 1000 个产品?

php - 完整日历无法将时间插入日历