Interface yii\web\IdentityInterface

可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/web/IdentityInterface.php

IdentityInterface 是应该由提供身份信息的类实现的接口.

该接口通常可以由用户模型类来实现. 例如, 以下代码显示了如何通过 User ActiveRecord 类实现此接口:

class User extends ActiveRecord implements IdentityInterface
{
    public static function findIdentity($id)
    {
        return static::findOne($id);
    }

    public static function findIdentityByAccessToken($token, $type = null)
    {
        return static::findOne(['access_token' => $token]);
    }

    public function getId()
    {
        return $this->id;
    }

    public function getAuthKey()
    {
        return $this->authKey;
    }

    public function validateAuthKey($authKey)
    {
        return $this->authKey === $authKey;
    }
}

公共方法

隐藏继承的方法

方法描述定义在
findIdentity() 通过给定的 ID 查找身份. yii\web\IdentityInterface
findIdentityByAccessToken() 通过给定的令牌(token)查找身份. yii\web\IdentityInterface
getAuthKey() 返回可用于检查给定身份标识的有效性的密钥. yii\web\IdentityInterface
getId() 返回可唯一标识用户身份的 ID. yii\web\IdentityInterface
validateAuthKey() 验证给定的身份验证密钥. yii\web\IdentityInterface

方法详情

findIdentity() public abstract static 方法

通过给定的 ID 查找身份.

public abstract static yii\web\IdentityInterface|null findIdentity ( $id )
$id string|integer

要查找的 ID.

return yii\web\IdentityInterface|null

与给定 ID 匹配的身份对象 如果找不到这样的身份或身份未处于活动状态(disabled, deleted 等), 则应返回null.

findIdentityByAccessToken() public abstract static 方法

通过给定的令牌(token)查找身份.

public abstract static yii\web\IdentityInterface|null findIdentityByAccessToken ( $token, $type null )
$token mixed

要查找的令牌(token).

$type mixed

令牌(token)的类型. 该参数的值取决于实现. 例如, yii\filters\auth\HttpBearerAuth 会将此参数设置为yii\filters\auth\HttpBearerAuth.

return yii\web\IdentityInterface|null

与给定的令牌(token)匹配的身份对象. 如果找不到这样的身份或身份未处于活动状态(disabled, deleted 等), 则应返回null.

getAuthKey() public abstract 方法

返回可用于检查给定身份标识的有效性的密钥.

密钥对于每个单独的用户应该是唯一的, 并且应该是持久的, 以便它可以用来检查用户身份的有效性.

这些密钥的空间应足够大, 以克服潜在的身份攻击.

如果启用 yii\web\User::$enableAutoLogin, 则这是必需的. 返回的密钥将作为 cookie 存储在客户端, 即使 PHP session 会话已过期, 也将用于对用户进行身份验证.

在实施强制用户注销, 密码更改和其它情况(要求对旧会话进行强制访问吊销)时, 请确保使先前发布的 authKeys 无效.

参见 validateAuthKey().

public abstract string getAuthKey ( )
return string

用于检查给定身份 ID 的有效性的密钥.

getId() public abstract 方法

返回可唯一标识用户身份的 ID.

public abstract string|integer getId ( )
return string|integer

唯一标识用户身份的 ID.

validateAuthKey() public abstract 方法

验证给定的身份验证密钥.

如果启用 yii\web\User::$enableAutoLogin, 则这是必需的.

参见 getAuthKey().

public abstract boolean validateAuthKey ( $authKey )
$authKey string

给定的身份验证密钥.

return boolean

给定的身份验证密钥是否有效.