2011-11-05 91 views
3

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

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

感谢您阅读我的问题和您的努力来回答它。

+0

所以你想使用orm驱动器?所以首先启用orm和数据库模块。数据库方案可以在这里找到http://jdstraughan.com/post/auth-module-for-kohana-31-using-orm-driver。对于使用orm驱动程序的auth模块也是一个很好的教程。该计划也为kohana 3.2工作,但我还没有尝试过控制器的例子。 –

+0

不,我想知道kohana 3的认证模块需要什么表或表结构?在哪里我可以改变它到我自己的领域和桌子? – Hafiz

回答

9

这里有你

  • 取消对Auth模块bootstrap.php中(你已经做了的话)的步骤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配置完成;)


正如你所配置的身份验证模块,显然你已经执行的SQL脚本。您将获得usersrolesroles_users & users_tokens表在您的数据库中创建。

现在您可以通过添加更多列来更改users表。因为你正在使用ORMModel_User已经在那里为你,这是一个ORM :)

所以这应该是所有,我相信。

1

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

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

+0

我不知道你在说什么,我只是询问了关于使用Kohana Auth模块的表名和字段名或表结构。或者我可以把它改成我自己的桌子和田野。 – Hafiz

+0

我记得读过“所以请告诉我们是否有人已经在使用它了,如果它使用某些表的某些默认字段,那我该如何修改它?”所以第二个阿丽娜就是这样。 而[ORM模块](https://github.com/kohana/ORM)有两个.sql文件。 有些人在更改Auth使用的默认散列算法时会遇到麻烦,所以我也写了一些关于它的内容。 – Darsstar