没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\filters\auth\HttpHeaderAuth

继承yii\filters\auth\HttpHeaderAuth » yii\filters\auth\AuthMethod » yii\base\ActionFilter » yii\base\Behavior » yii\base\BaseObject
实现yii\base\Configurable, yii\filters\auth\AuthInterface
子类yii\filters\auth\HttpBearerAuth
可用版本自2.0.14
源码 https://github.com/yiichina/yii2/blob/api/framework/filters/auth/HttpHeaderAuth.php

HttpHeaderAuth 是通过 HTTP 头支持 HTTP 身份验证的操作筛选器。

您可以使用 HttpHeaderAuth,方法是将其作为行为附加到控制器或模块,如下所示:

public function behaviors()
{
    return [
        'basicAuth' => [
            'class' => \yii\filters\auth\HttpHeaderAuth::className(),
        ],
    ];
}

HttpHeaderAuth 默认使用了 loginByAccessToken() user 应用程序组件的方法并传递 X-Api-Key 头的值。 此实现用于验证 API 客户端。

公共属性

隐藏继承的属性

属性类型描述被定义在
$except array List of action IDs that this filter should not apply to. yii\base\ActionFilter
$header string The HTTP header name yii\filters\auth\HttpHeaderAuth
$only array List of action IDs that this filter should apply to. yii\base\ActionFilter
$optional array 此筛选器将应用于的操作行为 IDs 的数组列表,但是身份验证失败不会导致错误。 它可能被用于行动,那是允许公开的,但是返回一些已验证用户的附加数据。 默认空,意思是不可选认证的任何行动。 Since version 2. yii\filters\auth\AuthMethod
$owner yii\base\Component|null The owner of this behavior yii\base\Behavior
$pattern string 用于提取 HTTP 身份验证值的模式 yii\filters\auth\HttpHeaderAuth
$request yii\web\Request 当前请求。如果没有设置,这个请求将使用应用程序组件。 yii\filters\auth\AuthMethod
$response yii\web\Response 要发送的响应。如果没有设置,这个响应将使用应用程序组件。 yii\filters\auth\AuthMethod
$user yii\web\User 表示用户身份验证状态的用户对象。如果没有设置,这个用户将使用应用程序组件。 yii\filters\auth\AuthMethod

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\BaseObject
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
afterAction() 执行动作后立即调用此方法。 您可以覆盖此方法以对操作执行一些后处理。 yii\base\ActionFilter
afterFilter() yii\base\ActionFilter
attach() Attaches the behavior object to the component. yii\base\Behavior
authenticate() 对当前用户进行身份验证。 yii\filters\auth\HttpHeaderAuth
beforeAction() This method is invoked right before an action is to be executed (after all possible filters.) You may override this method to do last-minute preparation for the action. yii\filters\auth\AuthMethod
beforeFilter() yii\base\ActionFilter
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
challenge() 在身份验证失败时产生质询。 例如,一些适当的 HTTP headers 可能会生成。 yii\filters\auth\AuthMethod
className() Returns the fully qualified name of this class. yii\base\BaseObject
detach() Detaches the behavior object from the component. yii\base\Behavior
events() Declares event handlers for the $owner's events. yii\base\Behavior
handleFailure() 处理身份验证失败。 该实现通常应抛出未经授权的 UnauthorizedHttpException 异常以指示身份验证失败。 yii\filters\auth\AuthMethod
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject

受保护的方法

隐藏继承的方法

方法描述被定义在
getActionId() 通过将 yii\base\Action::$uniqueId 转换为相对于模块的 ID 来返回动作 ID。 yii\base\ActionFilter
isActive() 返回一个值,该值指示过滤器对于给定操作是否处于活动状态。 yii\base\ActionFilter
isOptional() 检查,给定操作的身份验证是否可选。 yii\filters\auth\AuthMethod

属性详情

$header 公共 属性

The HTTP header name

public string $header 'X-Api-Key'
$pattern 公共 属性

用于提取 HTTP 身份验证值的模式

public string $pattern null

方法详情

authenticate() 公共 方法

对当前用户进行身份验证。

public yii\web\IdentityInterface authenticate($user, $request, $response)
$user yii\web\User
$request yii\web\Request
$response yii\web\Response
return yii\web\IdentityInterface

已验证的用户标识。如果不提供身份验证信息,则返回空。

throws yii\web\UnauthorizedHttpException

如果提供的身份验证信息无效。