Kohana 3 auth имя пользователя как номер
Я хочу использовать числа в качестве имени пользователя в Kohana Auth. Например, имя пользователя 100001? При добавлении нового пользователя Kohana возвращает мне ошибку: ORM_Validation_Exception [ 0 ]: Не удалось проверить массив Возможно ли номера пользователей в качестве имени пользователя в Kohana?
1 ответ
РЕДАКТИРОВАТЬ: Этот ответ выглядит проще и лучше, чем мой, но попытаться понять его вообще.
Вам нужно расширить User Model, я помогу вам использовать auth с драйвером ORM.
Шаги по расширению пользовательской модели:
Если вы еще этого не сделали, настройте модуль Auth для использования orm и создайте таблицу базы данных с нужными полями. Вот хороший пример того, как это сделать (это старый учебник, использующий ko3.1, но вы все еще можете поучиться у него). PS: у вас могут быть любые столбцы в таблице 'users', и вам не нужен столбец 'username ', если вы не хотите.
Откройте и внимательно прочитайте этот файл:
MODULES/orm/classes/model/auth/user.php
(Это самодокументировано, и я надеюсь, что вы понимаете это. Если нет, перестаньте читать этот ответ здесь и прочитайте документы по kohana. Некоторые ярлыки: Auth - Руководство пользователя Kohana, методы Auth (orm), дополнения:authСкопируйте файл (не редактируйте оригинал) в
APPPATH/classes/model/auth/user.php
и редактируй как хочешь. Некоторые функции, которые вы можете редактировать:rules
,filters
а такжеunique_key
(<- полезно). Будьте изобретательны, вы также можете добавлять собственные функции.Проверьте и измените все, что нужно.
Вы можете изменить метод входа в систему так, как вам нравится. Вы можете установить логин по электронной почте, создать собственный метод проверки или проанализировать значения перед сохранением в базе данных (см. public function filters()
). Это полезно для всего, что вы пытаетесь сделать с модулем аутентификации, используя ORM... Но... если вы действительно не хотите использовать ORM, вы можете создать свой собственный драйвер, узнайте, как это сделать.
Я сделал это некоторое время назад в Kohana 3.2, но я думаю, что вы не получите проблем с 3.3. Если у вас все еще есть вопросы, этот вопрос на форуме kohana может помочь.