Я создал функцию в контроллере и соответствующий ей вид (называемый «обратная связь») для страницы, которая не требует аутентификации, и URL выглядит следующим образом:
http://[DOMAIN]/products/feedback/11351/6673/24678/2/rt6a513gr45255hrt563443h2463hd63
URL работает без аутентификации и все идеально.Этот URL содержит форму, которую посетитель должен заполнить, а затем эти данные отправляются прямо в базу данных.Проблема заключается в том, что при отправке формы, если посетитель еще не вошел в систему, требуется проверка подлинности, и процесс прерывается таким образом, что данные из формы никогда не отправляются в базу данных.Я хочу, чтобы этот URL не требовал аутентификации, никогда, ни когда страница и форма загружены (эта часть уже работает нормально), ни когда форма отправлена (это то, что мне нужно исправить, потому что, когда нажимается кнопка отправки), аутентификация требуется немедленно).
ОБНОВЛЕНИЕ 1:
Я уже пытался включить следующий код в `app / controllers / products_controller.php:
function beforeFilter(){
........................
........................
........................
parent::beforeFilter();
$this->Auth->allow('feedback');
}
Моя идея состояла в том, чтобы исключить действие feedback
из требования аутентификации.Я попробовал это, основываясь на документации, найденной на https://book.cakephp.org/1.3/en/The-Manual/Core-Components/Authentication.html:
Например, если мы хотим разрешить всем пользователям доступ к индексам и методам просмотра (но не любым другим), мы бы сделали следующее:
function beforeFilter () {$ this-> Auth-> allow ('index', 'view');}
Я нашел то же самое предложение CakePHP Bypass компонент Auth для обхода компонента Auth в CakePHP.