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;
}
何を達成したいのか明確ではありません。そこで、考えられる 3 つの目標についてガイダンスを提供しました。
1) サードパーティのシステムを介して管理者を認証したい場合、管理者は標準の「ログイン/パスワード」フォームに資格情報を入力する必要がありません。Magento コードベースの柔軟性を活用し、カスタム ソリューションをインストールするか、それを記述する必要があります。自分で。サード パーティ認証は特殊すぎて多数の認証プロバイダー / API があるため、すぐに使用できるサード パーティ認証の機能はありません。
他のシステムと同様に、Magento はすべてのソリューションに最初のシステム パッケージを提供するため、万能ではありません。代わりに、プラットフォームには多くの便利な e コマース機能と、完全にカスタマイズできる機能が備わっています。したがって、店舗の所有者が自分の店舗に新しい機能を必要とする場合、独自のカスタム ソリューションを簡単に開発できます。または、@naveen によって既に提供されているリンクへのリンクである Magento Connect (つまり、Magento の App Store) で検索してみてください。
2) API を使用して、管理者ユーザーに代わってバックエンド アクション (製品の作成、顧客管理など) を実行する場合は、Magento の REST または SOAP API を使用できます。これらのシステムは管理者アカウントを使用せず、バックエンドで構成された独自のユーザーを持っていることに注意してください。Magento API の詳細については、公式ドキュメントを参照してください。
3) 内部 API を使用して PHP の管理者ログインとパスワードを確認する場合は、Mage_Admin_Model_User
orMage_Admin_Model_Session
を使用する必要があります。
Mage_Admin_Model_User
認証には 2 つの方法があります。
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
-には1つの方法がありlogin($username, $password)
ます。モデル自体は、管理者セッションを管理するように設計されています。ログインに成功すると開始し、ブラウザに Cookie を設定し、ログイン後に管理者がバックエンドを参照できるlogin()
ようにします。ログインが成功した場合、メソッドは新しいセッションを開始し、ユーザー モデルを返します。
$adminSession = Mage::getSingleton('admin/session');
$adminUser = $adminSession->login($username, $password)
if ($adminUser) {
echo 'Success';
} else {
echo 'Failure';
}