2015-11-09 7 views
-1

Извините, что не задал вопрос правильно, так как я даже не знаю, что мне писать, но вот моя проблема.Как получить зарегистрированный идентификатор пользователя

У меня есть 2 стола users и organiser, и оба они используют одну и ту же настольную систему для разных привилегий в моем проекте и имеют 2 разных страницы login.

Теперь путаница в том, что я хочу представить еще одну функцию, чтобы перечислить рекламу на веб-сайте, и я хочу, чтобы оба пользователя опубликовали объявление на веб-сайте. Для этого иногда мне нужно получить id и другие данные зарегистрированного пользователя, так что я должен здесь делать, чтобы узнать, какой из user вошел в систему или organiser вошел в систему?

Должен ли я вносить изменения в базу данных? или добавить любое дополнительное поле в таблицу advertisement, которая указывает, какой тип пользователя создал эту запись ??? Если это имеет значение, я использую схему yii2.

Вот код frontend файла конфигурации в yii2

return [ 
'id' => 'app-frontend', 
'controllerNamespace' => 'frontend\controllers', 
'defaultRoute' => 'event/index', 
'components' => [ 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'enableAutoLogin' => true, 
     'identityCookie' => [ 
      'name' => '_frontendUser', // unique for frontend 
     ], 
    ], 


    'session' => [ 
     'name' => 'PHPFRONTSESSID', 
     'savePath' => sys_get_temp_dir(), 
    ], 
    'request' => [ 
     // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 
     'cookieValidationKey' => 'YNdaEYHtai', 
     'csrfParam' => '_frontendCSRF', 
    ], 

    ], 
]; 
+1

исследовать Переменные сеанса PHP. См. Эту страницу руководства в [Session Introduction] (http://php.net/manual/en/intro.session.php) – Drew

+0

Вы устанавливаете '$ _SESSION' с идентификатором? Можете ли вы показать код? – wogsland

+0

@Drew обычно, когда я пишу 'yii -> $ app-> user-> id', я получаю идентификатор зарегистрированных пользователей? –

ответ

2

Для добавления поля или метод класса User вы можете или расширить класс пользователя (User doc), или создать свой новый класс пользователя, реализующий личность интерфейс (Identity doc).

зависит от вашего опыта или способности.

(Вы также можете оценить расширения, связанные с управлением пользователя)

Для доступа текущего вошедшего пользователя, вы можете использовать

для пользователя

Yii::$app->user->identity->username 

для ид

Yii::$app->user->id 
+0

, поэтому, если я хочу реализовать несколько логинов в интерфейсе, чем я должен определить 2 модуля один для' user' и другой для 'organiser', а затем я могу получить зарегистрированного пользователя, например' Yii: : $ app-> user-> id' или 'Yii :: $ app-> organiser-> id'? –

+0

Модуль для пользователя уже определен в Yii, и если вам нужен другой, вы можете попробовать добавить правильный модуль для органайзера. Я предлагаю вам также оценить управление RBAC или AUTH, а затем использовать роль для разного доступа к приложению. – scaisEdge

Смежные вопросы