Intereting Posts
Как получить 2 или 3 средней точки радиального местоположения (широта, долгота) Человеко-читаемый UTC datetime Получение данных POST из вызова AJAX на PHP Как разобрать сообщения о доставке Уведомления, отправленные от Mailer Deamons PHP CURL, похоже, игнорирует файл cookie cookie Исчерпание памяти imagejpeg PHP: Я смешиваю программирование, управляемое событиями, с сигнальными интерфейсами (сигналом и слотом / шаблоном наблюдателя)? PHP-количество вхождений символов строки в другой строке Является ли ASCII «../» единственной последовательностью байтов, которая указывает на обход каталога в PHP? Использование нескольких Auth в Laravel 5.3? Как вставить в PDO (sqllite3)? Magento и Amazon RDS – тайм-ауты Как предотвратить PHP для преобразования объекта DateTime с значением 0000-00-00 в значение -0001-11-30 PHP не загружает xdebug при запуске из Eclipse PDT Что мне нужно знать о подписях XML для работы SAML?

Cakephp 2.0 и базовый auth

Я обновил свое приложение с CakePHP 1.3 до 2.0.4.

Раньше я мог использовать компонент Security для эмуляции базовой HTTP-аутентификации только в одном контроллере.

Я делал что-то вроде этого:

$this->Auth->allow(array('*')); $this->Security->loginOptions = array('type'=>'basic','realm'=>'api'); $this->Security->loginUsers = array("api"=>"123"); $this->Security->requireLogin(); 

Теперь SecurityComponent больше не обрабатывает Basic и Digest Authentication, и мне нужно сделать что-то вроде этого:

 public $components = array( 'Auth' => array( 'authenticate' => array('Basic') ) ); 

Но когда я использую это на своем ApiController, он перенаправляется на мою регистрационную форму в / users / login. Я что-то упускаю?

Вам необходимо настроить AuthComponent с действием входа в систему. Вы должны ознакомиться с разделом « Настройка обработчиков проверки подлинности» в книге «Торт».

Ваша установка, вероятно, будет выглядеть примерно так:

 public $components = array( 'Auth'=> array( 'loginAction' => array( 'controller' => 'api', 'action' => 'login' ), 'loginRedirect' => array( 'controller' => 'api', 'action' => 'logged_on' ), 'authenticate' => array( 'Basic' => array( 'realm' => 'api' ) ) ) ); 

Кроме того, следует отметить, что Cake больше не поддерживает определение пользователей, использующих свойство loginUsers . Вам, вероятно, придется расширить класс BasicAuthenticate и переопределить его метод getUser () .