2013-01-16 92 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

不错的答案检查管理认证,也许这就是在这个问题的意思。投票。 –