2014-09-22 1 views
0

Привет, я создаю сайт в laravel, но у меня одна проблема. Проблема заключается в том, что, когда пользователь не войти и тип пользователя www.test.com/notifications, что ошибка, показывающая время как этотКак перенаправить страницу индекса, если пользователь не вошел в систему laravel

ErrorException (E_UNKNOWN) 
    Undefined variable: messages (View: /home/test/app/views/message-page.blade.php) 

Но я хочу, когда пользователь не войти и ввести www.test.com/уведомления, чтобы пользователь автоматически перенаправлял страницу индекса. Пожалуйста, помогите мне, я очень запутался. я с помощью какой-то код в базовом контроллере следующим образом:

public function checkLoggedIn(){ 
    if(Auth::user()->check()){ 
     return; 
    } 
    else { 
     return Redirect::to("/"); 
    } 
    } 

ответ

0

Вы должны сделать это таким образом:

public function checkLoggedIn(){ 

    if (!Auth::check()) { 
     return Redirect::to("/"); 
    } 
    return true; 
} 

Однако я предполагаю, что вы хотите использовать эту функцию в другом контроллере так, то вы должны сделайте это так:

$result = $this->checkLoggedIn(); 
if ($result !== true) { 
    return $result; 
} 

, чтобы сделать перенаправление.

Но у Laravel есть фильтры, поэтому вы можете легко проверить, зарегистрирован ли пользователь.

Вы можете просто использовать в вашем routes.php:

Route::group(
    ['before' => 'auth'], 
    function() { 
     // here you put all paths that requires user authentication 
    } 
); 

И вы можете настроить фильтр в app/filters, например:

Route::filter('auth', function() 
{ 
    if (Auth::guest()) 
    { 
     if (Request::ajax()) 
     { 
      return Response::make('Unauthorized', 401); 
     } 
     else 
     { 
      return Redirect::to('/'); 
     } 
    } 
}); 
+0

дал второй варианты уже сделали это не работает. – 2014-09-22 07:16:24

+0

@SandipKakade Что значит? Это работает для меня. Если у вас есть конкретная проблема, добавьте больше деталей и больше кода - отредактируйте свой вопрос. –

+0

Я пробовал, но я понимаю, как реализовать этот код, вы можете объяснить, пожалуйста. @Marcin – 2014-09-22 09:02:58