3

モジュールローダーで認証をロードするためのコメントを外しましたが、私が理解していないのは、認証にどのテーブルのどのフィールドを使用する必要があるかを認証モジュールに伝える方法です。また、認証モジュールのユーザーガイドが存在しないことがわかったため、Kohana3のユーザーガイドでもそれは見つかりませんでした。

ですから、誰かがすでにそれを使用しているかどうか教えてください。また、テーブルのデフォルトフィールドを使用している場合、どうすれば変更できますか?

私の質問とそれに答えるためのあなたの努力を読んでくれてありがとう。

4

2 に答える 2

8

これがあなたのためのステップです

  • bootstrap.phpのモジュールのコメントを解除しAuthます(すでに行っています)
  • ORM Module、はいであなたは&ORM Moduleを見つけるでしょう。必要なものを使用してください。auth-schema-mysql.sqlauth-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::$saltbootstrap.phpます。この行をに追加しますbootstrap.php

    Cookie::$salt = 'YourSecretCookieSalt';
    
  • 構成は完了Auth moduleです;)


authモジュールを構成したので、明らかにsqlスクリプトを実行しました。usersデータベースに作成された、、、およびテーブルrolesを取得します。roles_usersusers_tokens

usersこれで、列を追加してテーブルを変更できます。あなたが使用してORMいるModel_Userので、あなたのためにすでにそこにありますORM:)

だからこれがすべてだと私は信じています。

于 2011-11-09T20:11:58.020 に答える
1

Auth ORMドライバーのMySQLデータベーススキーマとPostGreSQLデータベーススキーマはどちらも、ORMモジュールにあります。ただし、パスワードフィールドの長さが、選択したハッシュアルゴリズムに対して正しい長さであることを確認してください。デフォルトのsha256の場合は64、sha512の場合は128、md5の場合は32、sha1の場合は40などです。

テーブルのフィールドを本当に変更したい場合は、__ get()メソッドと__set()メソッドをオーバーロードできると思います。または、データベースビューを作成することもできますが、挿入クエリと更新クエリで問題が発生する可能性があります。または、使用する列名を変更できるWouterのA1モジュールを試してみてください。

于 2011-11-07T20:37:30.533 に答える