2011-11-05 57 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