接口 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 |
方法详情
根据给定的 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);
根据给定的令牌查找身份。
public abstract static yii\web\IdentityInterface|null findIdentityByAccessToken ( $token, $type = null ) | ||
$token | 混合类型 |
要查找的令牌 |
$type | 混合类型 |
令牌的类型。此参数的值取决于实现。例如,yii\filters\auth\HttpBearerAuth 将此参数设置为 |
返回值 | yii\web\IdentityInterface|null |
与给定令牌匹配的身份对象。如果找不到这样的身份或身份处于非活动状态(禁用、删除等),则应返回 Null。 |
---|
public static function findIdentityByAccessToken($token, $type = null);
返回一个可用于检查给定身份 ID 有效性的密钥。
此密钥应对每个用户唯一,并且应是持久的,以便可用于检查用户身份的有效性。
此类密钥的空间应足够大,以防止潜在的身份攻击。
返回的密钥用于验证会话和自动登录(如果 yii\web\User::$enableAutoLogin 已启用)。
当您实现强制用户注销、密码更改以及需要强制撤销旧会话访问权限的其他场景时,请确保使先前发行的 authKeys 无效。
另请参阅 validateAuthKey()。
public abstract string|null getAuthKey ( ) | ||
返回值 | string|null |
用于检查给定身份 ID 有效性的密钥。 |
---|
public function getAuthKey();
返回一个可唯一标识用户身份的 ID。
public abstract string|integer getId ( ) | ||
返回值 | string|integer |
唯一标识用户身份的 ID。 |
---|
public function getId();
验证给定的身份验证密钥。
另请参阅 getAuthKey()。
public abstract boolean|null validateAuthKey ( $authKey ) | ||
$authKey | string |
给定的身份验证密钥 |
返回值 | boolean|null |
给定的身份验证密钥是否有效。 |
---|
public function validateAuthKey($authKey);
注册 或 登录 以发表评论。