Php laravel 5.3身份验证始终重定向到登录页面

Php laravel 5.3身份验证始终重定向到登录页面,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我想在laravel上创建身份验证,但我有一个问题。 当我想访问另一个页面时,该页面已重定向到登录页面 这是我的路线 Route::auth(); Route::get('/news/getid/{id_category}', 'NewsController@getid'); Route::group(['middleware' => ['web', 'auth']], function () { Route::resource('news', 'NewsController',

我想在laravel上创建身份验证,但我有一个问题。 当我想访问另一个页面时,该页面已重定向到登录页面

这是我的路线

Route::auth();
Route::get('/news/getid/{id_category}', 'NewsController@getid');
Route::group(['middleware' => ['web', 'auth']], function () {
    Route::resource('news', 'NewsController', ['except' => ['getid']]);
    Route::resource('category', 'CategoryController');
});
这是我的登录控制器

protected $redirectTo = '/news';

public function username()
{
    return 'username';
}

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest', ['except' => 'logout']);
}

Route::auth()应该在
web
中间件组中,因为身份验证路由使用会话来记住登录的用户。

您必须注释$this->middleware('auth')来自“NewsController”构造函数的行。应该是

public function __construct()
{
// $this->middleware('auth');
}

注意:通过注释这一行,永远不要检查从此控制器返回的所有视图页面的身份验证

您需要在不希望受到身份验证保护的每个页面中删除这一行:

$this->middleware('auth');
因此,基本上从上面提到的“另一个页面”控制器中删除它。

在路由文件(可能是web.php)中。从组中删除身份验证中间件 像这样:

Route::group(['middleware' => ['web' , 'auth']], function () {
Route::resource('news', 'NewsController', ['except' => ['getid']]);
Route::resource('category', 'CategoryController');
});
变成这样:

Route::group('middleware' => 'web', function () {
Route::resource('news', 'NewsController', ['except' => ['getid']]);
Route::resource('category', 'CategoryController');
});

但请确保您确实不需要保护该路由。

如果您尝试访问auth middleware组下的路由,如果未登录,您将被重定向到登录页面。用户是否经过身份验证?如果不是,正如@SanzeebAryal所说,这是预期的行为。或者您希望用户在登录后被重定向到想要的页面吗?hi@SanzeebAryal。我已经登录,但当我想访问另一个页面时,该页面只是再次重定向到登录页面。这就像我的会话没有被记住一样。我一直试图将
Route::auth()
放在web中间件组中,但我在我的chrome浏览器
ERR\u太多重定向
hi:),但没有
$this->middleware('auth')在我的控制器上。您好:)但我的控制器上没有该功能。那么您的身份验证工作如何?您是否使用路由文件进行身份验证?是的,我正在使用此
路由::组(['middleware'=>['web',auth']],函数(){
。我一直在尝试使用
$this->中间件('auth'))
在我的控制器上,如您所述,但它仍然与您尝试使用laravel默认身份验证时一样?如果是,请给我您的路由文件的屏幕截图/代码。