Метод аутентификации в объекте пользовательской проверки подлинности никогда не вызывается. Является ли это глифом или я что-то упускаю?cakephp: Пользовательский аутентификационный объект не аутентифицирован
я не получаю ничего в журнале, я просто перенаправлен на пользователей/входа в систему (или один я указал)
CakeVersion: 2.4.1
<?php
//My custom Auth Class
//Path: app/Controller/Component/Auth/HashAuthenticate.php
App::uses('BaseAuthenticate', 'Controller/Component/Auth');
class HashAuthenticate extends BaseAuthenticate
{
public function authenticate(CakeRequest $request, CakeResponse $response)
{
//Seems to not be called
CakeLog::write('authenticate');
debug($this);
die('gaah');
}
}
Если я добавляю метод getUser() (или unauthenticated()), они вызываются, но, по крайней мере, я знаю, что торт находит класс и т. д. Он просто пропускает аутентификационный метод.
AppController выглядит следующим образом
<?php
// AppController
App::uses('Controller', 'Controller');
App::uses('HashAuthenticate', 'Controller/Component/Auth');
class AppController extends Controller {
public $helpers = array('Html', 'Form', 'Session');
public $components = array('Auth' => array(
'authenticate' => array('Hash'),
'authorize' => array('Controller'),
)
);
}
Я нашел подобный вопрос здесь: CakePHP 2.x custom "Authentication adapter "LdapAuthorize" was not found но вопрос был опечаток.
Не могли бы вы также показать свое действие входа в контроллер? Это очень похоже на то, где находится проблема. – ndm
Ты самый верный сэр. Я ошибочно считал, что аутентификация вызывается всякий раз, когда пользователь, не зарегистрированный в системе, пытается получить доступ к чему-то, что необходимо для авторизации. Но, как вы говорите, это '$ this-> Auth-> login()', который вызывает аутентификацию. Вместо этого я сосредоточусь на 'getUser()' –