0

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

4

1 回答 1

0

编辑: 这个答案看起来比我的更简单,更好,但试着去理解它。


您需要扩展用户模型,我将帮助您使用 ORM 驱动程序的身份验证。

扩展用户模型的步骤:

  1. 如果您还没有,请将 Auth 模块配置为使用 orm 并创建一个包含所需字段的数据库表。这是一个很好的例子(这是一个使用 ko3.1 的旧教程,但你仍然可以从中学习)。PS:你可以在'users'表中有任何列,如果你不想要,你不需要'username'列。

  2. 打开并仔细阅读这个文件:(MODULES/orm/classes/model/auth/user.php它是自我记录的,我希望你理解它。如果没有,请停止阅读这里的答案并阅读 kohana 文档。一些快捷方式:Auth - Kohana 用户指南Auth (orm) methodsaddons:auth

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

  4. 测试并更改其他任何需要的东西。

 


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

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

于 2013-02-09T02:46:35.077 回答