朕的大清完了

朕的大清完了

这家伙有点懒,还没写个性签名!

  • 财富值479
  • 威望值20
  • 总积分899

个人信息

  • identity 持有的是 main.php 中配置的 user 的 identityClass的实例对象,如果要给其赋予自定义字段,就需要在对应的 identityClass 的类上加。

    如:

    'user' => [
        'identityClass' => backend\models\User::className(),
    ],
    
    // ------------------------------------------------------
    namespace backend\models;
    class User implements IdentityInterface {
        public $prop1;
        public $prop2;
    }
    
    // ------------------------------------------------------
    // 然后才可以
     \Yii::$app->user->identity->prop1=$prop1;
     \Yii::$app->user->identity->prop2=$prop2;
    

    是这样,后来嫌麻烦又放缓存里面读取了。 尴尬.jpg

  • 回复了 的回答

    配置里这一段熟悉吗?
    `
    'components' => [

        'user' => [
            'identityClass' => backend\models\User::className(),
            'enableAutoLogin' => false,
            'identityCookie' => ['name' => '_backend_identity'],
            'idParam' => '__backend__id',
            'returnUrlParam' => '_backend_returnUrl',
        ],
        ……
    

    `
    然后
    $user = \Yii::$app->user->identity;
    User里有什么属性你就可以用什么了~

    不行!这样直接提示基类没有aaa bbb这些成员变量 ,继承了,也设置了aaa bbb 还是不行

  • 回复了 的回答

    $result = Yii::$app->db->createCommand('call user()')->queryOne();

    print_r($result);

    试试看~

    好的 谢谢

  • 回复了 的回答

    配置里这一段熟悉吗?
    `
    'components' => [

        'user' => [
            'identityClass' => backend\models\User::className(),
            'enableAutoLogin' => false,
            'identityCookie' => ['name' => '_backend_identity'],
            'idParam' => '__backend__id',
            'returnUrlParam' => '_backend_returnUrl',
        ],
        ……
    

    `
    然后
    $user = \Yii::$app->user->identity;
    User里有什么属性你就可以用什么了~

    不熟悉呀,大佬你这都是初始化配置以及修改默认前缀的
    要在这里初始化属性吗?

    'user' => [
        'identityClass' => backend\models\User::className(),
        'enableAutoLogin' => false,
        'aaa' => 10000,
        'bbb' => 20000',
    ],
    

    然后 \Yii::$app->user->identity->aaa=$aaa

    是这样吗

  • 是不是 rules 里有特殊设置或者 findIdentity 没有选择对应的字段进行查询

    rules 是 Gii 生成的,findIdentity 是用的高级版的那写法。我直接抄到基础版用
    return static::findOne(['id' => $id, 'status' => self::STATUS_ACTIVE]);

    会不会是 input 的 name="username" 和这个
    findIdentity 查询出来的 username` 冲突了

    1.gif

    3.gif

  • 回复了 的回答

    获取、存储hash数据
    1、Yii::$app->redis->hget($key, $hashKey); =>获取redis hash数据
    2、Yii::$app->redis->hset($key, $hashKey, $data);=》设置redis hash数据

    好的,多谢指点

  • 2019-05-28 已签到
    连续签到6天,获得了20个金钱
主管 等级规则
899/1000
资料完整度
10/100
用户活跃度
20/100

Ta的关注

0

Ta的粉丝

2

Ta的访客

30