Laravel如何获得网络或身份验证的中间件工作

Laravel如何获得网络或身份验证的中间件工作

问题描述:

制定Laravel封装,工作在路由我有这样的路线Laravel如何获得网络或身份验证的中间件工作

Route::middleware(['web'])->group(function() { 
Route::get('/pckOne', 'Frutdev\LaravPck\Controllers\[email protected]'); 

Route::get('/pckZone', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::post('/pckZone', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::get('/pckUsers', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::get('/pckUser', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::get('/pckArea', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::post('/pckArea', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::get('/{Area}/pckZones', 'Frutdev\LaravPck\Controllers\[email protected]'); 
Route::post('/{Area}/pckZone', 'Frutdev\LaravPck\Controllers\[email protected]'); 
}); 

的路线不被认证。

我试图与网络中间件,但同时没有登录仍然可以看到/访问路线。

我试图与权威性中间件但即使在系统(使用默认登录Laravel洛这是不后改变)我无法访问路线。它说我是未经授权的,即使登录后。任何想法?

GET /login每当我尝试使用auth中间件去/pckOne返回302 Found状态。

+1

上次我使用Laravel时,认证的中间件被称为'auth'而不是'web'! – teeyo

要具备权威性中间件的功能,你需要像下面这样:

Auth::routes(); 

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

      // Home Controller After Logging In 
      Route::get('/', '[email protected]')->name('home'); 
     }); 

这意味着它将运行Get路线前检查权威性。如果你已经登录,那么它会运行,如果不是,你的中间件会将足够的重定向返回到登录页面作为例子。

+0

我刚刚尝试过,我无法访问/回家。我把它放在默认的'''routes/web.php'''中,并禁用了整个事物。 –

+0

在将路由器添加到路由后,您是否修改了中间件? – Option