2014-07-24 82 views
0

我使用yii-powered應用程序作爲公共API的後端。我創建了controllers/ApiController類,使用actionTest方法,並試圖通過url domain.ltd/api/test獲取一些數據,而未經登錄/傳遞授權,通常需要其他控制器(例如SiteController)。我怎樣才能做到這一點?yii沒有認證/授權的單個控制器的動作

我認爲有幾個變種:​​(?)

  1. 設定的路線/ API/*使用authManager
  2. 這樣神奇的東西與UserIdentity類的來賓訪問...
+0

不知道這是否會有所幫助,但您可以在控制器的訪問規則中設置權限... – webeno

+0

...基本上,您會在@ Justinas的答案中找到... – webeno

回答

2

允許任何人訪問該頁面,只需在控制器規則中指定(類似於登錄頁面,因爲您可以在不登錄的情況下訪問它)

public function accessRules() 
{ 
    return [ 
     [ 
      'allow', 
      'actions' => ['test'], 
      'users' => ['*'], 
     ], 
     ['deny', // deny all users 
      'users' => ['*'], 
     ], 
    ]; 
} 
+0

不是那些應該是正常的括號而不是方形的......? – webeno

+0

@webeno in PHP> = 5.4允許使用短數組標籤。這將是錯誤的低版本 – Justinas

+0

感謝您的信息,我不知道... – webeno