Я пытаюсь использовать Sentry 2 в моем новом приложении для обработки всех пользователей и групп.
после аутентификации пользователя с помощью часового и при попытке перенаправить на другую страницу аутентификация теряется
в тестовом коде вывод функции проверки Sentry::check()
правда
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('/', 'MainController@Index');
Route::get('create', 'MainController@Create');
Route::get('login', 'MainController@Login');
Route::get('admin', 'MainController@Admin');
Route::get('logout', 'MainController@Logout');
конфигурация сеанса по умолчанию и папка хранения доступна для записи
Вы можете попробовать этот метод:
Контроллер входа:
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']);
}
}
Других решений пока нет …