CakePHP Basic Auth редирект в браузере

Я разрабатываю с CakePHP (2.5.6) и моя цель — использовать как форму, так и базовую аутентификацию.

Мне это нужно, потому что я вызываю некоторые действия по отдыху из приложения для Android с базовой аутентификацией. Если пользователь заходит на сайт через браузер, я хочу использовать форму авторизации.

Я настроил свой AppController чтобы поддержать оба, и это прекрасно работает. Но если я получаю доступ к действию, требующему аутентификации, всплывает основное уведомление об аутентификации.

Лучший способ — перенаправить пользователей -> войти. Но сначала появляется основное уведомление об аутентификации.

Как я могу обойти это? Есть ли лучшее решение?

0

Решение

Я решил проблему самостоятельно.

Я добавил префикс маршрута для вызовов API.

Configure::write('Routing.prefixes', array('api'));

в core.php файл.

Теперь я могу инициировать вызовы API в AppController‘beforeFilter’ и добавить обычную аутентификацию только для вызовов API.

public function beforeFilter()
{
if(isset($this->request->params['api']))
{
// api call
// Pass settings in
$this->Auth->authenticate = array(
'Basic' => array('userModel' => 'User')
);
}
}

Пример действия.

PostsController -> индекс

public function api_index {

}

Адрес: domain.de/api/posts/index.json

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]