我想自定义 Laravel Auth。我想区分管理员和用户。在默认用户表中,我添加了具有两个选项的列角色:管理员和用户。根据手册,我正在定义redirectTo
方法。
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*/
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function redirectTo()
{
if (Auth::user()->role == 'admin') {
return 'admin/home';
} else {
return '/main';
}
}
protected function show_admin_homepage()
{
return view('auth.admin_h');
}
protected function show_user_homepage()
{
return view('auth.user_h');
}
}
路线
Route::get('main', 'Auth\LoginController@show_user_homepage')->name('show_user_homepage');
Route::get('admin/home', 'Auth\LoginController@show_admin_homepage')->name('show_admin_homepage');
问题是当我以用户或管理员身份登录时,我总是重定向到默认的 laravel 主页视图。我做错了什么?