尝试使用auth
过滤器以防止用户在未登录的情况下访问某些路由。以下代码无论用户的状态如何都会重定向。我无法在任何地方找到放在功能中的内容。我正在使用http://laravel.com/docs/security#protecting-routes作为参考。不确定我是否应该使用if语句。不知道该怎么做。
路线:
Route::get('/account', ['before' => 'auth', function()
{
// continue to /account
}]);
来自app/filters
的标准'auth'过滤器:
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
//return Redirect::guest('login');
}
}
});
我理解它的方式只能在用户登录时加载函数中的代码。否则给出401错误。
感谢您的帮助。
答案 0 :(得分:0)
在朋友的帮助下我修好了。一些重要信息,路由过滤器将继续用于预期目的,除非从过滤器返回某些内容。此外,标准auth过滤器将不起作用。必须修改。之后是蛋糕。代码如下。
路线:
Route::get('/account', ['before' => 'auth', 'uses' => 'SiteController@account']);
验证过滤器:
Route::filter('auth', function()
{
if (Auth::guest())
{
return Response::make('Unauthorized', 401);
}
});