我正在尝试遵循yii2的身份验证教程*,但是由于项目的要求,我需要构建自定义身份验证。虽然本教程说明你可以自己做,但没有详细说明。我需要创建哪些文件,需要将哪些值添加到$behaviors['authenticator']以引用我的自定义auth模块?*https://github.com/yiisoft/yii2/blob/master/docs/guide/rest-authentication.md 最佳答案 在目前的情况下,这个问题太宽泛了,但我会尽量提供基本的算法。创建从yii\filters\auth\AuthMethod扩展的类。在哪里放置它取决于你(因为使用命名空间),你可以遵循你自己的约定。假设我们把它放在common\components文件夹中。你必须至少实现authenticate的方法(AuthInterface和challenge已经有默认实现,但是你也可以重写它们)。namespace common\components;use yii\filters\auth\AuthMethod;class CustomAuth extends AuthMethod{ /** * @inheritdoc */ public function authenticate($user, $request, $response) { // Put your logic here }}在rest控制器中的用法:use common\components\CustomAuth;... /** * @inheritdoc */public function behaviors(){ $behaviors = parent::behaviors(); $behaviors['authenticator'] = [ 'class' => CustomAuth::className(), ]; return $behaviors;}另请参见如何实现内置auth方法(handleFailure,HttpBasicAuth,HttpBearerAuth)。关于php - 如何在Yii2中实现自己的身份验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29091807/ 10-09 09:10