Laravel 4.2 |构造 beforeFilter - 验证检查
Laravel 4.2 | construct beforeFilter - auth check
我有这个代码:
function __construct() {
$this->beforeFilter('auth');
if (Auth::user()->hasRole('A')) {
return \Redirect::route('B')->send();
}
}
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('auth/login');
die();
}
}
});
结果是这个错误:
Call to a member function hasRole() on null
授权过滤器应该自动将我重定向到授权页面。但它在完成所有功能之前不会这样做。
有什么建议吗?
好吧,这就是解决方案:
function __construct()
{
if ($this->beforeFilter('auth')) {
if (Auth::user()->hasRole('A')) {
return \Redirect::route('B')->send();
}
}
}
我有这个代码:
function __construct() {
$this->beforeFilter('auth');
if (Auth::user()->hasRole('A')) {
return \Redirect::route('B')->send();
}
}
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('auth/login');
die();
}
}
});
结果是这个错误:
Call to a member function hasRole() on null
授权过滤器应该自动将我重定向到授权页面。但它在完成所有功能之前不会这样做。
有什么建议吗?
好吧,这就是解决方案:
function __construct()
{
if ($this->beforeFilter('auth')) {
if (Auth::user()->hasRole('A')) {
return \Redirect::route('B')->send();
}
}
}