1
我正在構建一個CakePHP應用程序,並且我有一個API控制器。這包含了一些在網站上很常見的方法,我使用jQuery AJAX調用來做某些事情。我最近使用Auth組件實現了用戶註冊,但是現在,當我沒有登錄時嘗試訪問API時,我將重定向到登錄頁面。允許用戶使用CakePHP訪問API
這是我的AppController
代碼:
class AppController extends Controller {
public $components = array('Session', 'Auth' => array(
'loginRedirect' => array('controller' => 'users', 'action' => 'images'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'home')
));
public function beforeRender() {
$this->set('loggedIn', $this->Auth->loggedIn());
$this->set('username', $this->Auth->user('username'));
}
public function beforeFilter() {
$this->Auth->allow('home', 'register', 'login');
}
}
我知道我可以讓我與$this->Auth->allow()
方法API控制器中的某些方法,但有什麼辦法讓它控制器寬?例如,是否有我可以放在我的API控制器中的東西,以便未登錄的用戶也可以訪問其方法?我寧願不將每個動作的方法名稱放在允許列表中,因爲其中大約有30個。
謝謝。
這隻會在CakePHP中2.1+工作,如果你正在使用CakePHP 2.0確保使用'$這個 - > Auth->允許( '*'); ' – Hoff 2012-07-11 01:55:51
作品完美,謝謝:) – 2012-07-11 17:28:56