Kohana 3 auth имя пользователя как номер

Я хочу использовать числа в качестве имени пользователя в Kohana Auth. Например, имя пользователя 100001? При добавлении нового пользователя Kohana возвращает мне ошибку: ORM_Validation_Exception [ 0 ]: Не удалось проверить массив Возможно ли номера пользователей в качестве имени пользователя в Kohana?

1 ответ

РЕДАКТИРОВАТЬ: Этот ответ выглядит проще и лучше, чем мой, но попытаться понять его вообще.


Вам нужно расширить User Model, я помогу вам использовать auth с драйвером ORM.

Шаги по расширению пользовательской модели:

  1. Если вы еще этого не сделали, настройте модуль Auth для использования orm и создайте таблицу базы данных с нужными полями. Вот хороший пример того, как это сделать (это старый учебник, использующий ko3.1, но вы все еще можете поучиться у него). PS: у вас могут быть любые столбцы в таблице 'users', и вам не нужен столбец 'username ', если вы не хотите.

  2. Откройте и внимательно прочитайте этот файл: MODULES/orm/classes/model/auth/user.php (Это самодокументировано, и я надеюсь, что вы понимаете это. Если нет, перестаньте читать этот ответ здесь и прочитайте документы по kohana. Некоторые ярлыки: Auth - Руководство пользователя Kohana, методы Auth (orm), дополнения:auth

  3. Скопируйте файл (не редактируйте оригинал) в APPPATH/classes/model/auth/user.php и редактируй как хочешь. Некоторые функции, которые вы можете редактировать: rules, filters а также unique_key (<- полезно). Будьте изобретательны, вы также можете добавлять собственные функции.

  4. Проверьте и измените все, что нужно.


Вы можете изменить метод входа в систему так, как вам нравится. Вы можете установить логин по электронной почте, создать собственный метод проверки или проанализировать значения перед сохранением в базе данных (см. public function filters()). Это полезно для всего, что вы пытаетесь сделать с модулем аутентификации, используя ORM... Но... если вы действительно не хотите использовать ORM, вы можете создать свой собственный драйвер, узнайте, как это сделать.

Я сделал это некоторое время назад в Kohana 3.2, но я думаю, что вы не получите проблем с 3.3. Если у вас все еще есть вопросы, этот вопрос на форуме kohana может помочь.

Другие вопросы по тегам