2014-11-01 4 views
0

im пытается использовать Sentry 2 в моем новом приложении для обработки всех пользователей и групп.
после идентифицировать пользователя часовому и при попытке перенаправить на другую страницу аутентификации потерянной
в тестовом коде вывод функции проверки Sentry::check() верноаутентификация не работает в пакете laravel и sentry

public function Login(){ 
       $credentials = array(
         'username' => 'Mouad', 
         'password' => 'test', 
        ); 

       // Authenticate the user 
       $user = Sentry::authenticate($credentials, false); 
       var_dump(Sentry::check()); 


    } 

выход сессии

array (size=3) 
    '_token' => string 'slAqB8IYYrSPPSC1k1A2i8aTpkpVklPad3fiqoFA' (length=40) 
    'flash' => 
    array (size=2) 
     'old' => 
     array (size=0) 
      empty 
     'new' => 
     array (size=0) 
      empty 
    'cartalyst_sentry' => 
    array (size=2) 
     0 => null 
     1 => string '$2y$08$nWq4rHlacrNykXhQykipJ.0c8mr6VK4o364UvatPtJZ1kM1W8KH7K' (length=60) 

когда я попытался перенаправить страницу после аутентификации, запись сеанса «cartalyst_sentry» изменилась, и вывод функции проверки Sentry::check() является ложным

public function Login(){ 
       $credentials = array(
         'username' => 'Mouad', 
         'password' => 'test', 
        ); 

       // Authenticate the user 
       $user = Sentry::authenticate($credentials, false); 
       return Redirect::to('admin'); 


    } 
    public function Admin(){ 
     $data = Session::all(); 
     var_dump($data); 
     var_dump(Sentry::check()); 
    } 

конфигурация маршрута проста

Route::get('/', '[email protected]'); 
Route::get('create', '[email protected]'); 
Route::get('login', '[email protected]'); 
Route::get('admin', '[email protected]'); 
Route::get('logout', '[email protected]'); 

конфигурация сеанс по умолчанию и папка для хранения перезаписывает

ответ

0

Вы можете попробовать этот метод:

Войти Контроллер:

public function store() { 
     if (Input::get('remember') == "") { 
      $remember = false; 
     } else { 
      $remember = true; 
     } 
     $user = [ 
      'email' => Input::get('email'), 
      'password' => Input::get('password') 
     ]; 

     $login = User::login($user, $remember); 

    } 

Модель пользователя ($login это вызов модальным пользователя):

public static function login(array $credentials, $remember) { 
    try { 
     $user = Sentry::findUserByCredentials($credentials); 

     // PROCESS TO THE LOGIN AND REDIRECT TO THE DASHBOARD PAGE 
      $user->is_logged_in = 1; 
      $user->save(); 
      Sentry::login($user, $remember);  
      return \Redirect::route('admin.dashboard.index'); 

    } catch (\Cartalyst\Sentry\Users\LoginRequiredException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'U moet alle velden in vullen']); 
    } catch (\Cartalyst\Sentry\Users\PasswordRequiredException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'U moet het wachtwoordveld invullen']); 
    } catch (\Cartalyst\Sentry\Users\WrongPasswordException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'Het opgegeven email/wachtwoord is onjuist']); 
    } catch (\Cartalyst\Sentry\Users\UserNotFoundException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'Het opgegeven email/wachtwoord is onjuist']); 
    } catch (\Cartalyst\Sentry\Users\UserNotActivatedException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'Dit account is nog niet geactiveerd']); 
    } catch (\Cartalyst\Sentry\Throttling\UserSuspendedException $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'Dit account heeft een timeout']); 
    } catch (\Cartakyst\Sentry\Throttling\UserBannedExveption $e) { 
     return \Redirect::back()->withErrors(['auth_message' => 'Dit account is van onze site verbannen']); 
    } 
} 
Смежные вопросы