Laravel 5 更改登录后重定向路径
我在这里不知所措 我已经使用内置的身份验证设置了laravel的默认安装。我将Laravel 5 更改登录后重定向路径,laravel-5,Laravel 5,我在这里不知所措 我已经使用内置的身份验证设置了laravel的默认安装。我将home路线改为admin。我已使用此更改更新了RedirectIfAuthenticated.php 基本上,我只希望用户登录后重定向到索引(/)页面 我搜索了google并尝试将protected$redirectTo='/'或protected$redirectPath='/'添加到app/Http/Controllers/Auth/AuthController.php中,但重定向似乎没有任何改变 如果我更改新的
home
路线改为admin
。我已使用此更改更新了RedirectIfAuthenticated.php
基本上,我只希望用户登录后重定向到索引(/
)页面
我搜索了google并尝试将protected$redirectTo='/'
或protected$redirectPath='/'
添加到app/Http/Controllers/Auth/AuthController.php
中,但重定向似乎没有任何改变
如果我更改
新的重定向响应(url('/admin')代码>到新重定向响应(url('/')在RedirectIfAuthenticated.php
中,我得到一个重定向循环。以下是答案。如果用户已经通过身份验证,则会将其重定向到远离登录屏幕的位置,并且在中间件中设置了目标
例如,默认登录位置当前设置为/home,但我们将对其进行更改
编辑位于app/Http/Middleware目录中的RedirectIfAuthenticated.php文件。将第38行更改为下面的内容
更改默认登录位置
第38行应该是
return new RedirectResponse('/home');
//换成
return new RedirectResponse('/admin/post');
。。。或者您希望页面重定向到的任何其他位置。添加
protected $redirectPath = '/dashboard';
在控制器中\Auth\AuthController最初取自。您可以从App\Http\Controllers\Auth\LoginController
相应地编辑authenticated
方法
就我而言:
public function authenticated()
{
$user = $this->getUser();
if ($user && $user->isAdmin()) {
$this->redirectTo = route('admin.users.index');
return null;
}
}
return null
行是因为AuthenticateUsers
trait实现了sendLoginResponse(Request$Request)
方法,它询问authenticate
方法是否返回某些内容:
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
或者执行重定向
您也可以不返回任何内容,这将产生相同的效果。请参阅@KhanShahrukh,这是如何更改重定向到登录页面的方法。我想在用户登录到索引页面而不是默认的主页
(我已重命名为admin)页面后重定向用户。我问你是否对我的评论感到愤怒,因为我觉得it@KhanShahrukh不,一点也不:)谢谢你的回复。我在以前的搜索中发现了这个链接。我想我已经找到了每一本书/您应该更改返回属性_exists($this,'redirectTo')$此->重定向到:'/home';在AuthenticatesAndRegistersUsers.php中