【问题标题】: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 驱动程序的身份验证。

扩展用户模型的步骤:

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

  2. 打开并仔细阅读此文件:MODULES/orm/classes/model/auth/user.php(它是自我记录的,希望您能理解。如果没有,请停止在此处阅读此答案并阅读 kohana 文档。一些快捷方式:Auth - Kohana User Guide、@987654324 @、addons:auth

  3. 将文件(不要编辑原始文件)复制到APPPATH/classes/model/auth/user.php 并根据需要进行编辑。您可能想要编辑的一些函数是:rulesfiltersunique_key

  4. 测试并更改任何其他需要的内容。

 


您可以将登录方式更改为您喜欢的方式。您可以通过电子邮件设置登录、自定义验证方法或在保存到数据库之前解析值(请参阅public function filters())。这对于您尝试使用 ORM 对 auth 模块进行的任何操作都有帮助...但是...如果您真的不想使用 ORM,您可以构建自己的驱动程序,learn how

我前段时间在 kohana 3.2 中做了这个,但我认为你不会遇到 3.3 的问题。如果您仍有疑问,kohana 论坛上的this question 可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多