2016-07-14 2 views
0

Я пытаюсь проверить, вошел ли пользователь в систему или нет, используя переменную сеанса. но не в состоянии. Я использую учетную запись по умолчанию для схемы yii. Это действие контроллера:Проверка входа в систему или нет

public function actionLogin() 
{ 

    if (!\Yii::$app->user->isGuest) { 
    return $this->redirect(Yii::$app->request->baseUrl.'/todo/index'); 
    } 

    $model = new LoginForm(); 
    if ($model->load(Yii::$app->request->post()) && $model->login()){ 
    $session = Yii::$app->session; 
    $_SESSION['is_logged_in'] = TRUE; 

    return $this->redirect(Yii::$app->request->baseUrl.'/todo/index');  
    } 

    return $this->render('login', [ 
    'model' => $model, 
    ]); 

} 

и для проверки, если пользователь вошел в систему или не я использовал:

public function actionIndex() 
{ 
    $session = Yii::$app->session; 
    if (isset($_SESSION['is_logged_in'])) { 
    echo "yes!"; 
    } 
    else { 
    echo "no!"; 
    } 
} 

Он показывает, нет! даже если я вошел в систему. Что я здесь делаю неправильно?

+1

http://stackoverflow.com/questions/20965023/sessions-in-yii проверить эту ссылку – Hardik

+0

Почему вы хотите использовать сеанс для проверки пользователь вошел в систему или нет , isGuest() способ точно делает. – Chinmay

+0

, потому что мне также нужно получить идентификатор пользователя зарегистрированного пользователя. @ Chinmay – Steve

ответ

0

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

print_r(Yii::$app->user); 

Вы можете получить доступ к Yii::$app->user->id, Yii::$app->user->name

Если вы хотите сеанс, вы также можете это сделать.

use yii\web\Session; 
$session = Yii::$app->session; 
// check if a session is already open 
if ($session->isActive) ... 
// open a session 
$session->open(); 
// close a session 
$session->close(); 
// destroys all data registered to a session. 
$session->destroy(); 

Reference