Cakephp - 插件中的自定义身份验证(基本身份验证)

时间:2013-10-30 15:51:28

标签: cakephp plugins basic-authentication restful-authentication

我目前正在为我的网站开发Restfull API。 我决定将其开发为插件。

我正在使用扩展BasicAuthentification的自定义类。它允许我检查客户端 - 应用程序凭据,以便将API使用限制为仅限批准的开发人员。

在CakePHP CORE中添加此文件时效果很好:Cake/Controller/Component/Auth/DeviceAuthentification.php

由于我正在开发插件,我希望所有内容都在同一目录中。 因此,在我的名为MyApi的插件目录中,我在以下路径中添加了自定义类:

MyApi/Controller/Auth/DeviceAuthentification.php

为了加载它,在我的插件的控制器MyApiAppController中,我添加了以下代码:

public $components = array(
    'Auth' => array(
        'authenticate' => 'Device', // I also tried MyApi.Device
        'sessionKey' => false
    )

);

它没有加载,错误如下:

  

未找到身份验证适配器“设备”。

有人有想法吗?

1 个答案:

答案 0 :(得分:2)

好了,看了核心文件AuthComponent后,似乎需要有以下路径:

MyApi /控制器/的元器件 /Auth/DeviceAuthentification.php

而不是

MyApi /控制器/认证/ DeviceAuthentification.php

因此,无论何时使用插件目录,都需要添加目录组件