一部の顧客を管理者ユーザーとして管理者に自動ログインしたいと考えています。
アカウント ダッシュボードにリンクがあり、自動ログインを行います。
これまで、顧客の詳細を管理者ユーザー アカウントと同期するように実装されていたため、顧客のメールとその ID をパスワードとして手動で管理者にログインできました。
ただし、リンクをクリックするだけで実装する方法に行き詰まっています。
どんな助けでも大歓迎です。
一部の顧客を管理者ユーザーとして管理者に自動ログインしたいと考えています。
アカウント ダッシュボードにリンクがあり、自動ログインを行います。
これまで、顧客の詳細を管理者ユーザー アカウントと同期するように実装されていたため、顧客のメールとその ID をパスワードとして手動で管理者にログインできました。
ただし、リンクをクリックするだけで実装する方法に行き詰まっています。
どんな助けでも大歓迎です。
顧客を管理者ユーザーとして登録し、管理者ユーザー名を取得したことを考慮してください。彼を自動ログインさせる最も簡単な方法は、magento ルートにファイルを作成することです
require_once 'app/Mage.php';
umask(0);
$app = Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'adminhtml'));
$username = $_POST['username'];
$user = Mage::getModel('admin/user')->loadByUsername($username);
次に、秘密鍵を開始します
if (Mage::getSingleton('adminhtml/url')->useSecretKey()) {
Mage::getSingleton('adminhtml/url')->renewSecretUrls();
}
ログインとセッションのセットアップ
$session = Mage::getSingleton('admin/session');
$session->setIsFirstVisit(true);
$session->setUser($user);
$session->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
Mage::dispatchEvent('admin_session_user_login_success',array('user'=>$user));
最後に、好きな URL にリダイレクトします
//$url = Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index");
$url = Mage::getUrl('adminhtml/*/*');
$url = str_replace('autologin.php', 'index.php', $url);
header('Location: '.$url);
exit();
したがって、投稿リクエストでユーザー名を使用してこのURL BASE_URL/autologin.phpにフォームを送信するボタンをどこにでも作成できます