gpt4 book ai didi

php - Laravel 4 Auth 总是重定向到登录页面?/login

转载 作者:可可西里 更新时间:2023-11-01 13:11:09 24 4
gpt4 key购买 nike

我在我的网络应用程序中使用 laravel,在 routes.php 中我有:

// admin routes
Route::group(array('before' => 'auth'), function()
{
Route::controller('admin', 'UsersController');
});

我想保护并检查此人是否已登录,但此代码总是重定向到“/login”我希望它重定向到“admin/login”,可以这样做吗?

最佳答案

filters.php文件中有一个默认的auth过滤器,应该是这样的:

Route::filter('auth', function($route, $request)
{
if (Auth::guest()) return Redirect::guest('login'); // /login url
});

此过滤器(上面给出)将检查用户是否未登录,然后将发生重定向,用户将被发送到 /login url 否则什么都不会发生时,用户将被发送到请求的页面。

此外,默认情况下,下面的filter 是可用的,这个filter 只是检查用户是否已经登录然后他将被重定向到/(主页)默认:

Route::filter('guest', function($route)
{
if (Auth::check()) return Redirect::to('/'); // you may change it to /admin or so
});

此 (guest) 过滤器与 /login 一起使用,如下所示,因此如果登录用户打算登录,则该用户将被重定向到主页默认情况下:

Route::get('login', array('before' => 'guest', 'uses' => 'UsersController@getLogin'));

现在,在您的 routes.php 文件中,您声明了以下路由:

Route::group(array('before' => 'auth'), function()
{
Route::controller('admin', 'UsersController');
});

如果一切正常,那么此设置应该可以正常工作。如果注销的用户尝试访问 admin,那么用户将被发送到 login,这些在默认情况下可用并且应该可以工作。

关于php - Laravel 4 Auth 总是重定向到登录页面?/login,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22948948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com