YiiNewer 2014-11-02 23:43:32 9606次浏览 2条回复 0 0 0

yii,user类的beforeLogin事件是在哪里注册的?事件在哪里注册不好找啊

  • 回复于 2014-11-03 10:14 举报

    应该是User类的login方法吧。

    public function login(IdentityInterface $identity, $duration = 0)
    {
            if ($this->beforeLogin($identity, false, $duration)) {
                $this->switchIdentity($identity, $duration);
                $id = $identity->getId();
                $ip = Yii::$app->getRequest()->getUserIP();
                if ($this->enableSession) {
                    $log = "User '$id' logged in from $ip with duration $duration.";
                } else {
                    $log = "User '$id' logged in from $ip. Session not enabled.";
                }
                Yii::info($log, __METHOD__);
                $this->afterLogin($identity, false, $duration);
            }
    
            return !$this->getIsGuest();
    }
    
  • 回复于 2014-11-03 11:07 举报

    你说的这段我都看了几十遍了,我是说$this->beforeLogin($identity, false, $duration)这是在哪里执行的,其实它只是Yii系统预留的一个登陆前的事件,共开发者自由使用的,并没有实质意义,东西最后还得是自己研究出来

您需要登录后才可以回复。登录 | 立即注册