Kohana 3 auth模块,如何配置用户表和字段

时间:2011-11-05 11:40:04

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

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

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

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

2 个答案:

答案 0 :(得分:9)

以下是您的步骤

  • 取消注释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',
    );
    
  • Cookie::$salt中设置bootstrap.php。在bootstrap.php

    中添加此行
    Cookie::$salt = 'YourSecretCookieSalt';
    
  • 您已完成Auth module配置;)


由于您已经配置了auth模块,显然您已经执行了sql脚本。您将获得usersrolesroles_users&amp;在您的数据库中创建的users_tokens表。

现在您可以通过添加更多列来更改users表。当您使用ORM时,Model_User已经存在,ORM已经存在:)

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

答案 1 :(得分:1)

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

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