Laravel 5.2 - 路由验证

时间:2016-03-19 16:31:25

标签: laravel laravel-5.2

我从laravel创建了auth类,现在我想知道如何只为登录系统的用户设置/ 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');
});

3 个答案:

答案 0 :(得分:0)

对于身份验证网址,只需添加一个auth中间件,在登录用户后即可使用。请遵循以下代码:

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

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

我解决了这个问题:

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');
});

谢谢你们。