路由过滤器加载功能无论如何
Posted
技术标签:
【中文标题】路由过滤器加载功能无论如何【英文标题】:Route filters loading function no matter what 【发布时间】:2014-10-06 07:11:50 【问题描述】:这样做的问题是无论用户是否登录,都会加载该函数。我需要仅在用户登录时才加载帐户功能。我有Auth::check()
然后在功能本身中重定向,但有人告诉我有一种方法可以在路由中执行此操作。
路线:
Route::get('account', ['before' => 'auth', 'uses' => 'SiteController@account']);
标准身份验证过滤器 Laravel:
Route::filter('auth', function()
if (Auth::guest())
if (Request::ajax())
return Response::make('Unauthorized', 401);
else
//return Redirect::guest('login');
);
【问题讨论】:
【参考方案1】:您的最后一次尝试应该会奏效。只需去掉前面的斜线:
Route::get('account', ['before' => 'auth', 'uses' => 'SiteController@account']);
【讨论】:
不知道我是应该编辑问题还是只做一个新问题。我检查了app/filters
中的过滤器,它说如果没有登录应该给出 401 页。无论哪种方式,函数正在加载,如果没有登录,我只会在下一页上得到一个未定义的变量以上是关于路由过滤器加载功能无论如何的主要内容,如果未能解决你的问题,请参考以下文章