【问题标题】:Kohana 3 auth module, how to configure user table and fieldsKohana 3 auth 模块,如何配置用户表和字段
【发布时间】:2011-11-05 11:40:03
【问题描述】:

我在模块加载器中取消注释以加载身份验证,但我不明白的是如何告诉身份验证模块它应该使用哪个表的哪些字段来进行身份验证?我也没有在 Kohana 3 的用户指南中找到它,因为我发现 auth 模块的用户指南不存在。

所以请告诉是否有人已经在使用它。如果它使用某些表的一些默认字段,那么我该如何修改它?

感谢您阅读我的问题并努力回答。

【问题讨论】:

  • 所以你要使用orm驱动?所以首先启用 orm 和数据库模块。数据库方案可以在这里找到jdstraughan.com/post/auth-module-for-kohana-31-using-orm-driver。这也是将 auth 模块与 orm 驱动程序一起使用的好教程。该方案也适用于 kohana 3.2,但我还没有尝试过控制器示例。
  • 不,我想知道kohana 3的auth模块需要什么表或表结构?在哪里可以将其更改为我自己的字段和表格?

标签: php database kohana kohana-3 kohana-auth


【解决方案1】:

以下是适合您的步骤

  • 在 bootstrap.php 中取消注释 Auth 模块(你已经这样做了)
  • ORM Module,是的,在ORM Module,你会发现auth-schema-mysql.sql & auth-schema-postgresql.sql。使用您需要的那个。
  • 根据需要配置配置文件auth.php。以下是我正在使用的配置。

    <?php defined('SYSPATH') or die('No direct access allowed.');
    return array(
        'driver'       => 'ORM',
        'hash_method'  => 'sha256',
        'hash_key'     => "ica_hash_key",
        'lifetime'     => Date::MINUTE * 30,
        'session_type' => 'database',
        'session_key'  => 'auth_user',
    );
    
  • bootstrap.php 中设置Cookie::$salt。在您的bootstrap.php 中添加这一行。

    Cookie::$salt = 'YourSecretCookieSalt';
    
  • 您已完成Auth module 配置;)


当你配置了 auth 模块时,显然你已经执行了 sql 脚本。您将在数据库中创建usersrolesroles_usersusers_tokens 表。

现在您可以通过添加更多列来更改users 表。当您使用ORM 时,Model_User 已经为您准备好了,这是一个 ORM :)

所以这应该就是全部了,我相信。

【讨论】:

    【解决方案2】:

    Auth ORM 驱动程序的 MySQL 和 PostGreSQL 数据库模式都可以在 ORM 模块中找到。但请确保密码字段的长度对于您选择的散列算法是正确的。默认sha256应该是64,sha512应该是128,md5应该是32,sha1应该是40等等。

    如果您真的想更改表字段,我想您可以重载 __get() 和 __set() 方法。或者您可以创建一个数据库视图,但这可能会给插入和更新查询带来问题。或者试试Wouter's A1 module,它可以让你改变它使用的列名。

    【讨论】:

    • 我不知道你在说什么,我只是询问了使用 Kohana Auth 模块应该具备的表名和字段名或表结构。或者我可以将其更改为我自己的表格和字段。
    • 我记得读过“所以请告诉是否有人已经在使用它。如果它使用某个表的某些默认字段,那么我该如何修改它?”所以第二个alinea就是关于这个的。 ORM module 有两个 .sql 文件。有些人在将 Auth 使用的默认哈希算法更改为更长的哈希算法时遇到了麻烦,所以我也写了一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    相关资源
    最近更新 更多