Laravel 5.2 - 路由认证

Laravel 5.2 - Route authentication

我从 laravel 创建了 auth class,现在我想知道如何只为登录系统的用户设置 /register 页面?

我的路线是:

Route::group(['middleware' => ['web']], function () {
  //
  Route::get('/', 'Auth\AuthController@getLogin');
});

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

为了验证 url 只需添加一个 auth 中间件,它将在用户登录后运行。请遵循以下代码:

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

您必须使用中间件来过滤用户。 在认证的情况下,有一个内置的中间件 叫做 'auth' 您可以像 AnowarCst 向您展示的那样按组中的中间件进行过滤 或者像这样的单条路线:

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

阅读文档以更好地理解 MIDDLEWARE.

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

我用这个解决了问题:

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

还有我的routes.php

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'Auth\AuthController@getLogin');
});

Route::group(['middleware' => 'web'], function () {
    Route::Auth();

    Route::get('/dashboard', 'HomeController@index');
});

Route::group(['middleware' => ['web', 'auth']], function () {
   Route::get('/register', 'Auth\AuthController@showRegistrationForm');
});

谢谢大家。