我在模块加载器中取消注释以加载auth,但我不理解的是如何告诉auth模块它应该使用哪个表来进行身份验证?我也没有在Kohana 3的用户指南中找到,因为我发现auth模块的用户指南不存在。
所以请告诉我们是否有人正在使用它。如果它使用某些表的某些默认字段,那么我该如何修改它呢?
感谢您阅读我的问题并努力回答。
答案 0 :(得分:9)
以下是您的步骤
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脚本。您将获得users
,roles
,roles_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,它可以让你更改它使用的列名。