Laravel 5.2 - 路由身份验证



我从 laravel 创建身份验证类,现在我想知道如何将/register 页面仅供登录系统的用户使用?

我的路线是:

Route::group(['middleware' => ['web']], function () {
  //
  Route::get('/', 'AuthAuthController@getLogin');
});
Route::group(['middleware' => 'web'], function () {
  Route::auth();
  Route::get('/home', 'HomeController@index');
  //Route::get('/register', 'AuthAuthController@getRegister');
});

对于身份验证 url,只需添加一个auth中间件,该中间件将在用户登录后工作。按照以下代码操作:

Route::group(['middleware' => ['web','auth']], function () {
   Route::get('/register', 'YourController@getRegister');
});

您必须使用中间件来过滤用户。在身份验证的情况下,有一个内置的中间件称为"身份验证"您可以按组中的中间件进行过滤,如AnowarCst所示。或者在这样的单一路线中:

Route::get('/register', [
           'middleware' => 'auth',
           'yourController@yourFunction'
           ]);

阅读文档以更好地了解中间件。

不要害怕,它比它看起来更简单。 :)

我用这个解决了这个问题:

public function __construct()
{
      $this->middleware('guest', ['except' => ['logout', 'register', 'showRegistrationForm']]);
      $this->middleware('auth', ['only' => ['register', 'showRegistrationForm']]);
}

还有我的路线.php

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'AuthAuthController@getLogin');
});
Route::group(['middleware' => 'web'], function () {
    Route::Auth();
    Route::get('/dashboard', 'HomeController@index');
});
Route::group(['middleware' => ['web', 'auth']], function () {
   Route::get('/register', 'AuthAuthController@showRegistrationForm');
});

谢谢大家。

最新更新