前提・実現したいこと
管理者ユーザーが一般ユーザーのアカウントにログインし、一般ユーザーの情報を閲覧、変更したいです。
現状、管理者ユーザーと一般ユーザーで保持する情報の違いから、テーブルを分けています。
- admin_users: 管理者ユーザー
- users: 一般ユーザー
また、管理者ユーザーと一般ユーザーで仕様上ログイン方法が異なることからguardもそれぞれ別のものを使用しています。
ログイン方法の違いとは、ログインページで入力する情報の違いや二段階認証等があります。
php
1// config/auth.php 2 3 'guards' => [ 4 'web' => [ 5 'driver' => 'session', 6 'provider' => 'users', 7 ], 8 9 'api' => [ 10 'driver' => 'token', 11 'provider' => 'users', 12 'hash' => false, 13 ], 14 15 'admin' => [ 16 'driver' => 'session', 17 'provider' => 'admin_users', 18 ], 19 ],
管理者ユーザーは、管理画面から「指定の一般ユーザーとしてログインする」ボタンより特定の一般ユーザーとしてログインし、特定の一般ユーザーの情報を書き換えることを可能とします。
これは単にDB上の情報をかえることができるだけでなく、その指定の一般ユーザーのアカウント画面に入ることが要件となります。
この条件で、Laravelで実現する方法はありますでしょうか?
わからないことは、どうやって指定の一般ユーザーに紐づく情報を取得できるかです。
他に必要な情報があれば追記いたしますので、修正リクエストをお願いします。
補足情報(FW/ツールのバージョンなど)
- Laravel 7.x
- Homestead
- MySQL 5.6