我有一個在構造以下控制器規則:Laravel中間件「除了」不工作
$this->middleware('guest', ['except' =>
[
'logout',
'auth/facebook',
'auth/facebook/callback',
'auth/facebook/unlink'
]
]);
的「註銷」規則(這是有默認)的作品完美,但其他3條規則我有添加被忽略。在routes.php
的路線是這樣的:
Route::group(['middleware' => ['web']],function(){
Route::auth();
// Facebook auth
Route::get('/auth/facebook', 'Auth\[email protected]')->name('facebook_auth');
Route::get('/auth/facebook/callback', 'Auth\[email protected]')->name('facebook_callback');
Route::get('/auth/facebook/unlink', 'Auth\[email protected]')->name('facebook_unlink');
}
如果我訪問auth/facebook
,auth/facebook/callback
或auth/facebook/unlink
同時登錄我得到中間件否認,扔回到主頁。
我試着指定的'除外'規則,所以它們完全匹配routes.php
的路線,但沒有區別。任何想法爲什麼這些規則被忽略,而默認的「註銷」規則是受到尊重的?
乾杯!