0 关注者

接口 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;
    }
}

在某些情况下,并非所有这些方法都需要实现。例如,如果您的应用程序是一个纯无状态的 RESTful 应用程序,您只需要实现 findIdentityByAccessToken()getId(),而将所有其他方法留空。或者,如果您的应用程序仅使用会话进行身份验证,则需要实现除 findIdentityByAccessToken() 之外的所有方法。

公共方法

隐藏继承方法

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

方法详情

隐藏继承方法

findIdentity() public abstract static method

根据给定的 ID 查找身份。

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

要查找的 ID

返回值 yii\web\IdentityInterface|null

与给定 ID 匹配的身份对象。如果找不到这样的身份或身份处于非活动状态(禁用、删除等),则应返回 Null。

                public static function findIdentity($id);

            
findIdentityByAccessToken() public abstract static method

根据给定的令牌查找身份。

public abstract static yii\web\IdentityInterface|null findIdentityByAccessToken ( $token, $type null )
$token 混合类型

要查找的令牌

$type 混合类型

令牌的类型。此参数的值取决于实现。例如,yii\filters\auth\HttpBearerAuth 将此参数设置为 yii\filters\auth\HttpBearerAuth

返回值 yii\web\IdentityInterface|null

与给定令牌匹配的身份对象。如果找不到这样的身份或身份处于非活动状态(禁用、删除等),则应返回 Null。

                public static function findIdentityByAccessToken($token, $type = null);

            
getAuthKey() public abstract method

返回一个可用于检查给定身份 ID 有效性的密钥。

此密钥应对每个用户唯一,并且应是持久的,以便可用于检查用户身份的有效性。

此类密钥的空间应足够大,以防止潜在的身份攻击。

返回的密钥用于验证会话和自动登录(如果 yii\web\User::$enableAutoLogin 已启用)。

当您实现强制用户注销、密码更改以及需要强制撤销旧会话访问权限的其他场景时,请确保使先前发行的 authKeys 无效。

另请参阅 validateAuthKey()

public abstract string|null getAuthKey ( )
返回值 string|null

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

                public function getAuthKey();

            
getId() public abstract method

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

public abstract string|integer getId ( )
返回值 string|integer

唯一标识用户身份的 ID。

                public function getId();

            
validateAuthKey() public abstract method

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

另请参阅 getAuthKey()

public abstract boolean|null validateAuthKey ( $authKey )
$authKey string

给定的身份验证密钥

返回值 boolean|null

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

                public function validateAuthKey($authKey);