вы всегда можете расширить компонент Auth и делать все, что вы хотите, прежде чем запрашивать базу данных:)
Примерно так ...
function login($data = null,$public = false) {
$this->__setDefaults();
$this->_loggedIn = false;
if (empty($data)) {
$data = $this->data;
}
if (/** query the database to check/modify the data. You could use the identify() method of the AuthComponent **/) {
$this->Session->write($this->sessionKey, $user);
$this->_loggedIn = true;
}
return $this->_loggedIn;
}
Если вы расширяетекомпонент auth, не забывайте всегда использовать этот компонент вместо класса Auth по умолчанию.(Например, в AppController, build_acl, initdb, beforefilter на контроллерах и т. д.)
Надеюсь, это поможет