Magento 中是否有任何用于管理员登录身份验证的 Api?
3 回答
我认为 magento 具有管理员身份验证的扩展名这可能会对您有所帮助
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;
}
目前尚不清楚,您要实现什么。因此,我为三个可能的目标提供了指导。
1)如果您想通过某个 3rd 方系统对管理员进行身份验证,因此他不需要在标准的“登录/密码”表单中输入他的凭据,那么您需要使用 Magento 代码库灵活性并安装一些自定义解决方案或编写它靠自己。没有开箱即用的 3rd 方身份验证功能,因为它过于专业并且有许多身份验证提供程序/API。
像任何系统一样,Magento 不可能是万能的瑞士刀,它通过初始系统包提供所有解决方案。相反,该平台具有许多有用的电子商务功能以及完全定制的能力。因此,如果任何店主想要为其商店添加新功能,那么他可以轻松开发自己的定制解决方案。或者尝试在 Magento Connect(即 Magento 的 App Store)上找到一个,@naveen 已经提供了一个链接。
2) 如果您想使用 API 代表管理员用户执行一些后端操作(产品创建、客户管理等),那么您可以使用 Magento 的 REST 或 SOAP API。请注意,这些系统不使用管理员帐户,而是拥有自己的用户,这些用户在后端进行配置。您可以在官方文档中找到有关 Magento API 的更多信息。
3) 如果你想在 PHP 中使用内部 API 来验证管理员登录名和密码,那么你应该使用Mage_Admin_Model_User
or Mage_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';
}