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
状态。
答
要具备权威性中间件的功能,你需要像下面这样:
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
上次我使用Laravel时,认证的中间件被称为'auth'而不是'web'! – teeyo