2013-01-16 133 views

回答

1

目前尚不清楚,你想達到什麼做的擴展。所以我爲三個可能的目標提供了指導。


1)如果您想通過一些第三方系統認證管理員,所以他並不需要在標準的「登錄/密碼」的形式進入了他的證件,那麼你就需要搞Magento的代碼庫靈活性並安裝一些自定義解決方案或自行編寫。沒有第三方身份驗證功能,因爲它太專業化了,並且有許多auth提供程序/ API。

就像任何系統一樣,Magento不能成爲瑞士的一切,爲所有的解決方案提供最初的系統包。相反,該平臺帶有許多有用的電子商務功能以及完全定製的功能。因此,如果任何店主想爲他的商店購買新功能,那麼他可以輕鬆開發自己的定製解決方案。或者試着在Magento Connect(即Magento的App Store)上找到一個,link to which已經由@naveen提供。


2)如果您想使用API​​來執行代表admin用戶的一些後臺操作(產品創新,客戶管理等),那麼你可以使用Magento的REST或SOAP的API。請注意,這些系統不使用管理員帳戶,而是擁有自己的用戶,這些用戶是在後端配置的。您可以在official documentation中找到有關Magento API的更多信息。


3)如果你想使用內部API來驗證管理員用戶名和密碼在PHP,那麼你應該使用的是Mage_Admin_Model_UserMage_Admin_Model_Session

有兩種方法在Mage_Admin_Model_User認證:

  • authenticate($username, $password) - 負荷的用戶模型,返回認證是否成功
$adminUser = Mage::getModel('admin/user'); 
if ($adminUser->authenticate($username, $password)) { 
    echo 'Success'; 
} else { 
    echo 'Failure'; 
} 
  • login($username, $password) - 負荷的用戶模型,登錄不成功驗證嘗試
$adminUser = Mage::getModel('admin/user'); 
$adminUser->login($username, $password) 
if ($adminUser->getId()) { 
    echo 'Success'; 
} else { 
    echo 'Failure'; 
} 

並且在Mage_Admin_Model_Session-login($username, $password)中有一種方法。該模型本身用於管理管理會話 - 在成功登錄後啓動它,將Cookie設置爲瀏覽器,讓管理員在登錄後瀏覽後端。如果登錄成功,login()方法將啓動新會話並返回用戶模型。

$adminSession = Mage::getSingleton('admin/session'); 
$adminUser = $adminSession->login($username, $password) 
if ($adminUser) { 
    echo 'Success'; 
} else { 
    echo 'Failure'; 
} 
3
if(isset($_REQUEST['admin_name']) && isset($_REQUEST['admin_password'])) 
      $user = Mage::getModel('admin/user'); 
      $user->login($_REQUEST['admin_name'],$_REQUEST['admin_password']); 
      $result=$user->getId(); 
      if($result) 
      { 
       $result1=$user->getUsername(); 
       $result2=$user->getFirstname(); 
       $result3=$user->getLastname(); 
       $result4= $user->getEmail(); 
       echo $result4; 
      } 
+0

你可以使用肥皂,用上面的代碼 – 2013-01-16 07:46:47

+0

不錯的答案檢查管理認證,也許這就是在這個問題的意思。投票。 –