如何解决无法从自定义路由文件访问Auth :: user? Laravel 7
出于某种目的,我决定为管理员创建一个单独的路由文件,并将其逻辑与web.php分开,但是相反,我面临着这个问题:
//admin.php ( routing file )
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Auth
Route::get('/admin',function ()
{
dd(Auth::user()); //return null
});
ps:admin.php已在RouteServiceProvider中注册
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
$this->mapAdminRoutes();
//
}
protected function mapAdminRoutes()
{
Route::middleware('admin')
->namespace('App\Http\Controllers\Admin')
->group(base_path('routes/admin.php'));
}
解决方法
添加Web中间件
Route::middleware(['web','admin'])->...
,
让我们尝试在config / auth.php中定义新路由
'guards' => [
'admin' => [
'driver' => 'session','provider' => 'users',]
],
因为您想获得会话以检查Auth。 因此,让我们尝试一下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。