【问题标题】:Kohana 3 auth username as numberKohana 3 auth 用户名作为数字
【发布时间】:2013-02-07 13:03:01
【问题描述】:
我想在 Kohana Auth 中使用数字作为用户名。例如,用户名 100001?
添加新用户 Kohana 时返回错误:ORM_Validation_Exception [ 0 ]: Failed to validate array
是否可以将用户号码作为 Kohana 中的用户名?
【问题讨论】:
标签:
authentication
kohana
kohana-3
kohana-orm
kohana-auth
【解决方案1】:
编辑:This answer 看起来比我的更简单更好,但请尽量理解它。
您需要扩展用户模型,我将帮助您使用 ORM 驱动程序的身份验证。
扩展用户模型的步骤:
如果您还没有,请将 Auth 模块配置为使用 orm 并创建包含所需字段的数据库表。 Here is a good example 如何做到这一点(这是一个使用 ko3.1 的旧教程,但您仍然可以从中学习)。 PS.:您可以在“用户”表中包含任何列,如果您不想要,则不需要包含“用户名”列。
打开并仔细阅读此文件:MODULES/orm/classes/model/auth/user.php(它是自我记录的,希望您能理解。如果没有,请停止在此处阅读此答案并阅读 kohana 文档。一些快捷方式:Auth - Kohana User Guide、@987654324 @、addons:auth
将文件(不要编辑原始文件)复制到APPPATH/classes/model/auth/user.php 并根据需要进行编辑。您可能想要编辑的一些函数是:rules、filters 和 unique_key(
测试并更改任何其他需要的内容。
您可以将登录方式更改为您喜欢的方式。您可以通过电子邮件设置登录、自定义验证方法或在保存到数据库之前解析值(请参阅public function filters())。这对于您尝试使用 ORM 对 auth 模块进行的任何操作都有帮助...但是...如果您真的不想使用 ORM,您可以构建自己的驱动程序,learn how。
我前段时间在 kohana 3.2 中做了这个,但我认为你不会遇到 3.3 的问题。如果您仍有疑问,kohana 论坛上的this question 可能会有所帮助。