まずは公式ドキュメントを確認。
http://fuelphp.com/docs/packages/auth/simpleauth/intro.html
当然英語です。。。
かなり適当に和訳。あっているかも怪しいですw。
Introduction
SimpleAuthはその名のとおり認証パッケージに含まれているシンプルな認証システムです。Authの動作、実装のサンプルであり、他の認証ドライバのサンプルでもあり、独自ドライバを作成するときの参考資料とすることができます。
Auth setup
設定は SimpleAuth ドライバを使用することを Auth package に伝えることから始まります。これは auth.php コンフィグファイルで設定します。デフォルトのファイルは Auth package にあります。変更を加える前にあなたの app/config フォルダにこのファイルをコピーしてください。デフォルトで SimpleAuth package用に設定されている。コンフィグファイルについての説明は 後のconfigrationを参照してください。
セットアップ完了後、app/config/config.php の always_load 部分でパッケージのオートロードを行うかを選択できます。
Configuration
SimpleAuth認証システムはコンフィギュレーションファイルを使用して構成されます。'simpleauth'コンフィギュレーションファイルに驚くところはありません。デフォルトのファイルは、 Auth package にあります。変更を加える前に、app /
configフォルダにこのファイルをコピーしてください。
The
following configration values can be defined:
次の設定値を定義することができます:
Param
|
Type
|
Default
|
Description
|
db_connection
|
string
|
null
|
使用するDB接続名称。db.php ファイルの定義と一致させる必要があります。デフォルトはnull
|
table_name
|
string
|
'users'
|
使用するユーザーテーブルの名称
|
table_columns
|
array
|
array('*')
|
配列でユーザーテーブルから選択、またはすべてのカラム。最低でも username, password, email, last_logoin, login_hash, group,
profile_fieldsは指定する必要がある。
|
guest_login
|
boolean
|
true
|
true なら誰もログインしていない場合、ダミーゲストユーザを作成することによりグループ、acl driversの使用を許可します。
|
groups
|
array
|
array()
|
SimpleAuth groups driver によるグループの定義。グループの配列詳細については*ここを参照してください。
|
roles
|
array
|
array()
|
SimpleAuth groups driver による role 定義。roles の配列詳細については*ここを参照してください。
|
login_hash_salt
|
string
|
'put_some_salt_in_here'
|
SimpleAuth ドライバでパスワードを安全に作成するためのソルト値はパスワードのハッシュ値を計算し、データベースへの格納に使われます。デフォルトパスワードは PBKDF2 ですが、ランダムな文字列にデフォルトを変更してください。
|
username_post_key
|
string
|
'username'
|
ログインフォームの
username インプットフィールドの名称を指定します。
|
password_post_key
|
string
|
'password'
|
ログインフォームの
password インプットフィールドの名称を指定します。
|
Database table
SimpleAuth はひとつのテーブルを使用します。作成にはこの SQL を使用してください。
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`group` int(11) NOT NULL DEFAULT '1',
`email` varchar(255) NOT NULL,
`last_login` varchar(25) NOT NULL,
`login_hash` varchar(255) NOT NULL,
`profile_fields` text NOT NULL,
`created` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `useranem` (`username`, `email`)
)
Example
サンプルのログインアクション
public function action_login()
{
$data = array();
//送信ボタンを押したら
if (Input::post())
{
$auth = Auth::instance();
if($auth->login())
{
Response::redirect('success_page');
}
else
{
//Oops
$data['username'] = Input::post('username');
$data['login_error'] = 'Wrong username/password combo. Try
again';
}
}
//Show the login form
echo View::forge('auth/login',$data);
}
次は訳文のとおりSQLでテーブルを作成してみることにします。
当然、前回妄想したusersテーブルとはテーブル設計が異なりますw。
>続く
0 件のコメント:
コメントを投稿