Php 为什么我的中间件不能跨Laravel中的控制器工作?
我是Laravel的新手,我一直在学习laracast的教程,并认为我了解中间件的概念是如何工作的,但当我尝试在另一个控制器中实现身份验证时,它不起作用。它只在我创建的第一个控制器中工作。因此,我:Php 为什么我的中间件不能跨Laravel中的控制器工作?,php,laravel,authentication,laravel-artisan,laravel-middleware,Php,Laravel,Authentication,Laravel Artisan,Laravel Middleware,我是Laravel的新手,我一直在学习laracast的教程,并认为我了解中间件的概念是如何工作的,但当我尝试在另一个控制器中实现身份验证时,它不起作用。它只在我创建的第一个控制器中工作。因此,我: <?php namespace App\Http\Controllers; use App\Http\Requests\ArticleRequest; use Carbon\Carbon; use Request; use Auth; use App\Article; use App\U
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ArticleRequest;
use Carbon\Carbon;
use Request;
use Auth;
use App\Article;
use App\User;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ArticlesController extends Controller
{
public function __construct() {
$this->middleware('auth',['except'=>['index','show']]);
}
public function index() { ... }
public function show() { ... }
...
}
当我在浏览器中访问/文章时,我只能访问索引和显示操作,但当我访问/订阅源时,我可以访问所有操作。谁能告诉我哪里出了问题
顺便说一句,我使用的是Laravel 5.2
编辑:php artisan路由:列表
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | about | | App\Http\Controllers\PagesController@about | web |
| | GET|HEAD | articles | articles.index | App\Http\Controllers\ArticlesController@index | web |
| | POST | articles | articles.store | App\Http\Controllers\ArticlesController@store | web,auth |
| | GET|HEAD | articles/create | articles.create | App\Http\Controllers\ArticlesController@create | web,auth |
| | PUT|PATCH | articles/{articles} | articles.update | App\Http\Controllers\ArticlesController@update | web,auth |
| | DELETE | articles/{articles} | articles.destroy | App\Http\Controllers\ArticlesController@destroy | web,auth |
| | GET|HEAD | articles/{articles} | articles.show | App\Http\Controllers\ArticlesController@show | web |
| | GET|HEAD | articles/{articles}/edit | articles.edit | App\Http\Controllers\ArticlesController@edit | web,auth |
| | POST | auth/login/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@postLogin | web,guest |
| | GET|HEAD | auth/login/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getLogin | web,guest |
| | GET|HEAD | auth/logout/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getLogout | web,guest |
| | POST | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@postRegister | web,guest |
| | GET|HEAD | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getRegister | web,guest |
| | GET|HEAD|POST|PUT|PATCH|DELETE | auth/{_missing} | | App\Http\Controllers\Auth\AuthController@missingMethod | web,guest |
| | GET|HEAD | contact | | App\Http\Controllers\PagesController@contact | web,student |
| | POST | feeds | feeds.store | App\Http\Controllers\FeedsController@store | web,auth |
| | GET|HEAD | feeds | feeds.index | App\Http\Controllers\FeedsController@index | web |
| | GET|HEAD | feeds/create | feeds.create | App\Http\Controllers\FeedsController@create | web,auth |
| | DELETE | feeds/{feeds} | feeds.destroy | App\Http\Controllers\FeedsController@destroy | web,auth |
| | PUT|PATCH | feeds/{feeds} | feeds.update | App\Http\Controllers\FeedsController@update | web,auth |
| | GET|HEAD | feeds/{feeds} | feeds.show | App\Http\Controllers\FeedsController@show | web,auth |
| | GET|HEAD | feeds/{feeds}/edit | feeds.edit | App\Http\Controllers\FeedsController@edit | web,auth |
| | GET|HEAD | foo | | Closure | web,manager |
| | GET|HEAD | home | | App\Http\Controllers\HomeController@index | web,auth |
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm | web,guest |
| | POST | login | | App\Http\Controllers\Auth\AuthController@login | web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout | web |
| | GET|HEAD | password/broker/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getBroker | web,guest |
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,guest |
| | GET|HEAD | password/email/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getEmail | web,guest |
| | POST | password/email/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@postEmail | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset | web,guest |
| | POST | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@postReset | web,guest |
| | GET|HEAD | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getReset | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm | web,guest |
| | GET|HEAD|POST|PUT|PATCH|DELETE | password/{_missing} | | App\Http\Controllers\Auth\PasswordController@missingMethod | web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationForm | web,guest |
| | POST | register | | App\Http\Controllers\Auth\AuthController@register | web,guest |
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+
您可以运行php artisan route:list来查看每个路由的中间件列表。该表将告诉您是否存在重叠的中间件。可能不是这样的……因为很可能只是碰巧在这里输入了它。但你缺少一个括号。['Exception'=>['index']);应该是['Exception'=>['index']])是的,只是这里的一个输入错误,KyleK。将发布路线:列表
Route::group(['middleware' => ['web']], function () {
Route::resource('articles', 'ArticlesController');
Route::resource('feeds', 'FeedsController');
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController'
]);
Route::get('/', function() {
return view('welcome');
});
Route::auth();
Route::get('/home', 'HomeController@index');
});
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | about | | App\Http\Controllers\PagesController@about | web |
| | GET|HEAD | articles | articles.index | App\Http\Controllers\ArticlesController@index | web |
| | POST | articles | articles.store | App\Http\Controllers\ArticlesController@store | web,auth |
| | GET|HEAD | articles/create | articles.create | App\Http\Controllers\ArticlesController@create | web,auth |
| | PUT|PATCH | articles/{articles} | articles.update | App\Http\Controllers\ArticlesController@update | web,auth |
| | DELETE | articles/{articles} | articles.destroy | App\Http\Controllers\ArticlesController@destroy | web,auth |
| | GET|HEAD | articles/{articles} | articles.show | App\Http\Controllers\ArticlesController@show | web |
| | GET|HEAD | articles/{articles}/edit | articles.edit | App\Http\Controllers\ArticlesController@edit | web,auth |
| | POST | auth/login/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@postLogin | web,guest |
| | GET|HEAD | auth/login/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getLogin | web,guest |
| | GET|HEAD | auth/logout/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getLogout | web,guest |
| | POST | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@postRegister | web,guest |
| | GET|HEAD | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\AuthController@getRegister | web,guest |
| | GET|HEAD|POST|PUT|PATCH|DELETE | auth/{_missing} | | App\Http\Controllers\Auth\AuthController@missingMethod | web,guest |
| | GET|HEAD | contact | | App\Http\Controllers\PagesController@contact | web,student |
| | POST | feeds | feeds.store | App\Http\Controllers\FeedsController@store | web,auth |
| | GET|HEAD | feeds | feeds.index | App\Http\Controllers\FeedsController@index | web |
| | GET|HEAD | feeds/create | feeds.create | App\Http\Controllers\FeedsController@create | web,auth |
| | DELETE | feeds/{feeds} | feeds.destroy | App\Http\Controllers\FeedsController@destroy | web,auth |
| | PUT|PATCH | feeds/{feeds} | feeds.update | App\Http\Controllers\FeedsController@update | web,auth |
| | GET|HEAD | feeds/{feeds} | feeds.show | App\Http\Controllers\FeedsController@show | web,auth |
| | GET|HEAD | feeds/{feeds}/edit | feeds.edit | App\Http\Controllers\FeedsController@edit | web,auth |
| | GET|HEAD | foo | | Closure | web,manager |
| | GET|HEAD | home | | App\Http\Controllers\HomeController@index | web,auth |
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm | web,guest |
| | POST | login | | App\Http\Controllers\Auth\AuthController@login | web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout | web |
| | GET|HEAD | password/broker/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getBroker | web,guest |
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,guest |
| | GET|HEAD | password/email/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getEmail | web,guest |
| | POST | password/email/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@postEmail | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset | web,guest |
| | POST | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@postReset | web,guest |
| | GET|HEAD | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} | | App\Http\Controllers\Auth\PasswordController@getReset | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm | web,guest |
| | GET|HEAD|POST|PUT|PATCH|DELETE | password/{_missing} | | App\Http\Controllers\Auth\PasswordController@missingMethod | web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationForm | web,guest |
| | POST | register | | App\Http\Controllers\Auth\AuthController@register | web,guest |
+--------+--------------------------------+--------------------------------------------------------+------------------+-----------------------------------------------------------------+-------------+