Laravel 个路由组

Laravel routing groups

我有一个关于路由组的问题。我有两种类型的用户,我无法使用角色系统。在 laracast 电子邮件验证视频之后,我能够让一种新型用户工作。所以我可以登录和注册没问题。但是,当我有两种类型的用户路由时,它开始拒绝登录等。

我什至尝试分离管理员用户路由并将艺术家用户路由放在不同的 php 文档中,但仍然不允许两种类型的登录或查看正确的仪表板。

我试过在组内使用命名空间、前缀和中间件都无济于事。

这是路由代码。

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

Route::get('/', function () {
    return view('welcome');
});
Route::get('/artist', function () {
return view('artist');

});
    Route::get('/sponsor', function () {
return view('sponsor');

});
    Route::get('/viewer', function () {
return view('viewer');

});
    Route::get('/contact', function () {
return view('contact');

});

// This is for the Artist Linkings
//Route::group(['middleware' => 'artist'], function () {
        //Route::auth('artist');
    //Route::get('art/dashboard', 'SessionsController@index');

//Route::get('art/dashboard', ['middleware' => 'artist', function() {
//return view('art/dashboard');
//}]);
    //});
//Route::get('art/register', 'RegistrationController@register');
//Route::post('art/register', 'RegistrationController@postRegister');

//Route::get('register/confirm/{token}',        'RegistrationController@confirmEmail');


//Route::get('art/login', 'SessionsController@login');
//Route::post('login', 'SessionsController@postLogin');
//Route::get('/logout', 'SessionsController@logout');
//Route::get('art/dashboard', 'SessionsController@index');
//});

// Need to add the password stuff ect

// Route::group(['prefix' => 'viewer', 'namespace' => 'Viewer'], function () {
  //  require app_path('Http/Routes/viewers.php');
// });



// This is for all the Viewer Linkings


Route::get('viewer/register', 'ViewerRegistrationController@register');
Route::post('viewer/register', 'ViewerRegistrationController@postRegister');

Route::get('viewer/register/confirm/{token}', 'ViewerRegistrationController@confirmEmail');


Route::get('viewer/login', 'ViewerSessionsController@login');
Route::post('login', 'ViewerSessionsController@postLogin');
Route::get('/logout', 'ViewerSessionsController@logout');
Route::get('viewer/dashboard', 'ViewerSessionsController@index');
//});   
//}]);  

你可以用这个。

对于您定义的艺术家用户

Route::group(["middleware" => ["auth.artist"], "prefix" => "artist","namespace"=>"Artist"], function() {

    Route::controller('artist',          'UsersArtistController');
    Route::controller('controles', 'controlsArtistController');
   });

对于查看器用户,如果不需要任何身份验证

 Route::group("prefix" => "viewer","namespace"=>"Viewer"], function() {

    Route::controller('Viewer ',          'UsersViewer Controller');
    Route::controller('controles', 'controlsViewerController');
   });
 Route::group(['as'=>'admin.','prefix'=>'admin','namespace'=>'Admin','middleware'=>['auth','admin']], function (){

  Route::get('dashboard','DashboardController@index')->name('dashboard');
    Route::resource('tag','TagController');
    Route::resource('category','CategoryController');

});

Route::group(['middleware'=>['auth']], function(){
    Route::post('favorite/{post}/add','FavoriteController@add')->name('post.favorite');
    Route::post('review/{id}/add','ReviewController@review')->name('review');   
});


Route::group(['as'=>'user.','prefix'=>'user','namespace'=>'Author','middleware'=>['auth','user']], function (){
    Route::get('dashboard','DashboardController@index')->name('dashboard');
    Route::resource('post','PostController');
});