我有一臺安裝了Magento 1.4.0.1的Web服務器。我有另一個網站與它共享憑據。我已經設法檢查客戶是否已登錄(在更改Magento中的cookie位置之後),但是當我試圖確定管理員是否已登錄時,情況變得複雜。我只能得到正確的答案對於我要求的第一個會話(客戶或管理員,第二個從未登錄)。Magento - 檢查管理員和客戶是否登錄
我怎樣才能得到兩個答案?
這裏是我使用來測試出代碼:
require_once '../app/Mage.php';
umask(0) ;
Mage::app();
// Checking for customer session
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session=Mage::getSingleton('customer/session', array('name'=>'frontend'));
if ($session->isLoggedIn()) {
echo "Customer is logged in";
} else {
echo "Customer is not logged in";
}
// Checking for admin session
Mage::getSingleton('core/session', array('name'=>'adminhtml'));
$adminsession = Mage::getSingleton('admin/session', array('name'=>'adminhtml'));
if($adminsession->isLoggedIn()) {
echo "Admin Logged in";
} else {
echo "Admin NOT logged in";
}
用這樣的代碼
因此,管理員從未登錄如果你把對管理的第一部分,那麼。客戶從未登錄過。似乎我錯過了兩個請求之間的界限。
這可能比這個懸而未決的問題同樣的問題:Magento how to check if admin is logged in within a module controller
這似乎是一個流行的問題,但我無法找到合適的解決辦法...
感謝您的幫助!
這是最接近答案的帖子是這一個http://www.magentocommerce.com/boards/viewthread/50307/#t274955,但我不能讓它工作。在同一個線程中的另一條消息談到將兩個驗證分離到不同的PHP文件,但創建類與我調用的功能產生相同的結果... – Melanie