Kohana 3 auth用户名为number

时间:2013-02-07 13:03:01

标签: authentication kohana kohana-3 kohana-orm kohana-auth

我想在Kohana Auth中使用数字作为用户名。例如,用户名100001? 添加新用户Kohana时返回错误:ORM_Validation_Exception [0]:无法验证数组 用户号码是否可以作为Kohana的用户名​​?

1 个答案:

答案 0 :(得分:0)

编辑: This answer看起来比我的更简单,更好,但尝试理解它。


您需要扩展用户模型,我将帮助您使用带有ORM驱动程序的auth。

扩展用户模型的步骤:

  1. 如果您还没有,请将Auth模块配置为使用orm并使用所需字段创建数据库表。 Here is a good example如何做到这一点(这是一个使用ko3.1的旧教程,但你仍然可以从中学习)。 PS。:您可以在“用户”表中添加任何列,如果不需要,则无需拥有“用户名”列。

  2. 打开并仔细阅读此文件:MODULES/orm/classes/model/auth/user.php(这是自我记录的,我希望您理解它。如果没有,请在此处阅读此答案并阅读kohana文档。一些快捷方式:{{3} },Auth - Kohana User GuideAuth (orm) methods

  3. 将文件(不要编辑原文)复制到APPPATH/classes/model/auth/user.php并根据需要进行编辑。您可能要修改的一些功能是:rulesfiltersunique_key(< - 有用)。要有创意,您还可以添加自定义功能。

  4. 测试并更改其他所需的内容。


  5. 您可以根据需要更改登录方法。您可以通过电子邮件设置登录,创建自定义验证方法或在保存到数据库之前解析值(请参阅public function filters())。这对于使用ORM尝试使用auth模块的任何操作都很有用......但是......如果你真的不想使用ORM,你可以构建自己的驱动程序,addons:auth

    我前段时间在 kohana 3.2 中做了这个,但我认为3.3不会出现问题。如果您仍有疑问,请在kohana论坛上learn how提供帮助。