oil g adminコマンドを使うとスキャフォールドと認証画面を一気に生成することができます。

ここでは、認証用ユーザ管理テーブルのスキャフォールドと認証画面をまとめて作ってみます。

 

まず、ユーザ管理テーブルのスキャフォールドを生成します。

FuelPHP 1.5ではfuel/packages/auth/exampleにSimpleAuth用のマイグレーションファイルがありますが、ここではoil g adminを使うことが目的なので、oilコマンドでマイグレーションを生成します。

$ oil g admin user username:varchar[50] password:varchar[255] group:int:default[1] email:varchar[255] last_login:varchar[25] login_hash:varchar[255] profile_fields:text

マイグレーションをデータベースに反映させます。

$ oil r migrate

テーブルが出来たら、ユーザーを新規追加します。

oilコマンドでテストコンソールを開き、Authパッケージのcreate_userメソッドを実行します。

$ oil c

Fuel 1.4 - PHP 5.3.10-1ubuntu3.5 (cli) (Jan 18 2013 23:39:11) [Linux]
>>> Auth::create_user('admin', 'pass', 'admin@example.com', 100)
1
>>>

create_userメソッドの引数は、ユーザ名、パスワード、メールアドレスのほか、グループIDが必須です。

ここで指定している値100は、simpleauth.phpで設定している管理者グループのIDです。

成功すると追加されたレコードのidが表示されます。成功したらCtrl+Cでコンソールを終了します。

 

これだけで完了です。

public/adminをブラウザで開いてみましょう。

SimpleAuth認証画面

認証画面が表示されます。

さきほど新規追加したユーザでログインします。

管理画面ダッシュボード

ダッシュボードが表示されます。

上部のリンクUserをクリックするとスキャフォールドで作成されたUsersテーブル管理画面が表示されます。

スキャフォールドによる管理画面

 

以上でSimpleAuthの認証画面を確認できました。

ただし、この例ではAuth::create_userの処理を入れていないので、このスキャフォールドを使った新規ユーザ追加や変更はできません。

 

追補

いろいろやっているうちに、ログインすると310リダイレクトループエラーになるようになってしまったときは、マイグレーションをやり直すと解消します