Насколько я помню, Auth требует две части информации для входа в систему.Вы можете изменить, какие поля в таблице пользователей проверяются аутентификацией с помощью.
$Auth->fields = array(
'username' => 'username',
'password' => 'password'
);
Так что если вы хотите, чтобы пользователи могли входить в систему в соответствии с их псевдонимом и размером обуви:
$Auth->fields = array(
'username' => 'nickname',
'password' => 'shoesize'
);
ВАЖНО:
AuthComponent ожидает, что значение пароля, хранящееся в базе данных, будет хэшировано, а не сохранено в открытом тексте. (я думаю, что это sha1 пароля и Security.salt)
В приведенном выше примере, если какие-либо записи уже существуют в базе данных, вам нужно будет перезаписать поле размера обуви для каждого из них хэшированными версиями размеров обуви.
Чтобы сгенерировать хешированный пароль самостоятельно, выможно использовать $Auth->password('A Password');
Быстро и грязно
Если вы заполните поля пароля в таблице пользователей значением, возвращаемым: $Auth->password(null);
Тогда вы можете использовать следующее:
$Auth->login(
array(
'User'=>array(
'username'=> USERNAME_FROM_PHPBB3,
'password'=>null
)
)
);
Менее быстрое и грязное
При создании нового пользователя.Установите в поле пароля хэш md5 для некоторого случайного ввода.
$this->authUser[$this->User->alias][$Auth->fields['password']] = $Auth->password(md5(rand().rand()));
Используйте имя пользователя из phpBB3, чтобы получить соответствующую запись из таблицы пользователей в базе данных.
$this->authUser = $this->User->findByUsername( USERNAME_FROM_PHPBB3 );
Если запрос был успешным Войдите в систему пользователя
if($this->authUser){
if($Auth->login($this->authUser)){
// Login Successful
}
}