KohanaAuthでユーザー名として数字を使用したい。たとえば、ユーザー名100001?新しいユーザーを追加している間、Kohanaはエラーを返します:ORM_Validation_Exception [0]:配列の検証に失敗しましたKohanaでユーザー名としてユーザー番号を使用することは可能ですか?
1 に答える
編集: この答えは私のものよりもシンプルで優れているように見えますが、それを理解するようにしてください.
User Model を拡張する必要があります。ORM ドライバーで auth を使用するお手伝いをします。
ユーザー モデルを拡張する手順:
まだ行っていない場合は、orm を使用するように Auth モジュールを構成し、必要なフィールドを含むデータベース テーブルを作成します。これを行う方法の良い例を次に示します (これは ko3.1 を使用した古いチュートリアルですが、それでも学習できます)。PS .:「users」テーブルには任意の列を作成できます。不要な場合は「username」列を作成する必要はありません。
このファイルを開いて注意深く読んでください:
MODULES/orm/classes/model/auth/user.php
(自己文書化されているので、理解していただければ幸いです。そうでない場合は、ここでこの回答を読むのをやめて、kohana ドキュメントを読んでください。いくつかのショートカット: Auth - Kohana User Guide、Auth (orm) methods、addons:authファイルをコピーして (元のファイルは編集しないでください)、
APPPATH/classes/model/auth/user.php
必要に応じて編集します。編集したい関数rules
には、 、filters
およびunique_key
(<- 便利) があります。カスタム関数を追加することもできます。他に必要なものをテストして変更します。
ログイン方法は自由に変更できます。データベースに保存する前に、電子メールによるログインを設定したり、カスタムの検証方法を作成したり、値を解析したりできます (「 」を参照public function filters()
)。これは、ORM を使用して auth モジュールで何をしようとしても役に立ちます...しかし...本当に ORM を使用したくない場合は、独自のドライバーを作成して、方法を学ぶことができます。
これはkohana 3.2で少し前に作ったものですが、3.3でも問題ないと思います。まだ質問がある場合は、kohana フォーラムのこの質問が役立つ場合があります。