如何获取登录用户ID

时间:2015-11-09 22:29:21

标签: php mysql yii2

抱歉没有正确指定问题,因为我甚至不知道我应该在那里写什么,但这是我的问题。

我有2个表usersorganiser,他们都使用相同的桌面系统在我的项目中拥有不同的权限,并且有2个不同的login页面。

现在令人困惑的是,我想引入另一个功能来列出网站上的广告,我希望两个用户都在网站上发布广告。为此,有时我需要获取登录用户的id和其他详细信息,那么我应该在此处了解哪些user已登录或organiser已登录?< / p>

我应该对数据库进行任何更改吗?或者在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 个答案:

答案 0 :(得分:2)

要向User类添加字段或方法,您可以或扩展User类(User doc),或者创建一个实现身份界面(Identity doc)的新User类。

取决于您的经验或能力。

(您还可以评估与用户管理相关的扩展程序)

要访问当前登录的用户,您可以使用

用户名

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

代表

Yii::$app->user->id