如何添加过滤器laravel

时间:2014-12-09 12:16:56

标签: laravel filter

如何添加过滤器,当我登录时,我在url上输入user / login或user / register,我想重定向到home。

当我退出时,我想保护用户/面板

2 个答案:

答案 0 :(得分:1)

Laravel有过滤器选项,官方网站声明了以下过滤器

  

路由过滤器提供了一种限制对给定路由的访问的便捷方式,这对于创建需要身份验证的站点区域非常有用。 Laravel框架中包含几个过滤器,包括auth过滤器,auth.basic过滤器,来宾过滤器和csrf过滤器。它们位于app / filters.php文件中。

定义路由过滤器

Route::filter('old', function()
{
if (Input::get('age') < 200)
{
    return Redirect::to('home');
}
});
  

如果过滤器返回响应,则认为该响应为   对请求的响应和路由将不会执行。任何事后   路线上的过滤器也会被取消。

将过滤器附加到路径

Route::get('user', array('before' => 'old', function()
{
    return 'You are over 200 years old!';
}));

You can find complete documentation here

答案 1 :(得分:0)

<强> Route.php

Route::group(array('prefix'=>'user','before' => 'isUser'), function () {
    Route::get('register', array('as' => 'register', 'uses' => 'UsersController@create'));

    Route::get('login', array('as' => 'login', 'uses' => 'UsersController@login'));
    // add post routes as required
});

<强> filters.php

Route::filter('isUser', function ()
{
   // I have used Sentry for user Authorisation 

   if (Sentry::check()) {
       return Redirect::to('/')->with('message', "You are already logged in.");
   }
   else{
      // benefit of using Redirect::guest() is that you can use Redirect::intended()
      return Redirect::guest('login');
   }
});