2014-03-31 98 views
1

我想向resource/index.json發出請求,但由於我index不允許未經身份驗證,它將我重定向到登錄頁面。這就是我想要的時候沒有用戶名的行爲:密碼已發送API(json)請求CakePHP基本認證

問題是我怎麼設置AuthComponentFormBasic工作,只檢查基本當請求經過api前綴。

此外,它是否會自動驗證在頭中找到用戶名和密碼或我必須手動執行它?

在相應控制器

回答

0

我決定用朋友的蛋糕TokenAuthenticate,是的,它與FormAuthenticate一起工作,所以我能夠使用兩者。

事實上,它會根據現有的_token參數或X-MyApiTokenHeader標題自動選擇要使用的組件。

public $components = array(
    'Auth' => array(
     'authenticate' => array(
      'Form', 
      'Authenticate.Token' => array(
       'parameter' => '_token', 
       'header' => 'X-MyApiTokenHeader', 
       'userModel' => 'User', 
       'scope' => array('User.active' => 1), 
       'fields' => array(
        'username' => 'username', 
        'password' => 'password', 
        'token' => 'public_key', 
       ), 
       'continue' => true 
      ) 
     ) 
    ) 
); 
+0

請發佈代碼示例... –

+0

有你去:) –

+0

感謝張貼代碼。 –

2

添加幾行

class NameController extends AppController { 
    public function beforeFilter() { 
      parent::beforeFilter(); 
      $this->Auth->allow("index"); 
     } 
} 

這將允許不經認證索引。

+0

不是我所問的 –

+0

@ChristopherFrancisco可能我只是無法理解你的情況。 –

+0

我的問題是「它是否會在標題中找到用戶名和密碼時自動進行身份驗證,還是必須手動執行?」 –