我有这个blogsController,创建功能如下.
public function create() { if($this->reqLogin()) return $this->reqLogin(); return View::make('blogs.create'); }
在BaseController中,我有这个功能,它检查用户是否登录.
public function reqLogin(){ if(!Auth::check()){ Session::flash('message','You need to login'); return Redirect::to("login"); } }
public function create() { $this->reqLogin(); return View::make('blogs.create'); }
我可以这样做吗?
除此之外,我可以设置身份验证规则,就像我们在Yii框架中一样,在控制器的顶部.
您应该将检查放入过滤器,然后只有当用户首先登录时才让用户到达控制器.
过滤
Route::filter('auth',function($route,$request,$response) { if(!Auth::check()) { Session::flash('message','You need to login'); return Redirect::to("login"); } });
路线
Route::get('blogs/create',array('before' => 'auth','uses' => 'BlogsController@create'));
调节器
public function create() { return View::make('blogs.create'); }