Ben*_*son 6 php authentication laravel laravel-4 laravel-routing
我有这个博客资源,它有通常的CRUD方法.(索引,创建,存储,显示,编辑,更新,销毁).
我的routes.php中有以下路由:
Route::resource('blog', 'PostsController');
Run Code Online (Sandbox Code Playgroud)
但我想限制所有,但索引和显示.所以我有
Route::get('blog', 'PostsController@index');
Route::group(array('before' => 'auth'), function()
{
Route::resource('blog', 'PostsController');
});
Run Code Online (Sandbox Code Playgroud)
这对索引很好,但我不知道如何路由show方法?或者还有另一种方式吗?我应该单独路由每个URI并将我想要的那些限制在我的受限访问路径中,而不是路由资源吗?
干杯
Jon*_*set 13
Laravel有一个功能,允许您使用控制器的__construct方法指定过滤器$this->beforeFilter.此函数采用第二个参数,允许您提供异常(或仅为某些方法启用过滤器).尝试使用原始路由文件并按如下方式设置控制器:
class PostsController extends BaseController {
function __construct() {
// ...
$this->beforeFilter('auth', array('except' => array('index', 'show')));
// ...
}
// ...
Run Code Online (Sandbox Code Playgroud)
请参阅Laravel文档中的Controller Filters .它并没有完全记录在案,但你也可以从这里开始深入了解Laravel的内脏.