问题:
在我的索引页面上,经过身份验证的用户和来宾应该能够查看和使用
Auth::user()
,它返回登录数据的用户,在索引页上再次转储它,然后返回null.。
我用的是最新版本的Laravel。
我搜索了一些同样的问题,最近的一个问题就是这个Auth::user() returns null。我试着遵循提供的答案,但仍然返回null。
web.php
Route::group(['middleware' => 'web'], function () {
Route::get('/', [IndexController::class, 'index'])->name('index.page');
Auth::routes();
Route::group(['middleware' => ['auth:user']], function() {
Route::get('/user/profile', [UserController::class, 'profile'])->name('user.profile');
});
Route::group(['prefix' => 'admin', 'middleware' => ['auth:admin']], function() {
Route::get('dashboard',[DashboardController::class, 'index'])->name('admin.dashboard');
});
})
auth.php
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'user' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
'admins' => [
'provider' => 'admins',
'table' => 'password_resets',
'expire' => 15,
],
],
这是我对中间件所做的唯一修改。
RedirectIfAuthenticated.php
foreach ($guards as $guard) {
if ($guard === "admin" && Auth::guard($guard)->check()) {
return redirect('/admin/dashboard');
}
if ($guard === "user" && Auth::guard($guard)->check()) {
return redirect('/user/profile');
}
if (Auth::guard($guard)->check()) {
return redirect('/');
}
}
我为用户和管理模型添加了$guard
User.php
protected $guard = 'user';
Admin.php
protected $guard = 'admin';
如果您有任何问题,请随时提出并感谢您的帮助!
发布于 2021-10-01 11:32:19
但是我想定制的Auth.php有一个问题
foreach ($guards as $guard) {
if ($guard === "admin" && Auth::guard($guard)->check()) {
return redirect('/admin/dashboard');
}else{
if ($guard === "user" && Auth::guard($guard)->check()) {
return redirect('/user/profile');
}else{
return redirect('/');
}
}
}
发布于 2021-10-01 10:59:58
我可以分享对我有用的解决方案。我从护照转到桑克顿。。
https://stackoverflow.com/questions/69404619
复制相似问题